C 類的鏈式程式設計思想

2021-10-25 06:28:24 字數 1390 閱讀 5393

#include #include using namespace std;  

class person  

void add10() // 每呼叫一次age加10  

person(string name, int age)  

};  

int main()  

我們這樣重複的呼叫add10()函式來多次改變person物件中age成員變數的值,有點太麻煩。

其實就是使得函式返回值為*this,即物件本身,這樣我們可以不斷地對物件進行相同的操作,類似於」cout<

#include #include using namespace std;  

class person  

person& add10() // 每呼叫一次age加10  

person(string name, int age)  

};  

int main()  

注意:我們這裡一定要用」person& add10()」,函式返回值一定是類的引用,如果沒有物件的引用會發生以下結果:

#include #include using namespace std;  

class person  

person add10() // 每呼叫一次age加10  

person(string name, int age)  

};  

int main()  

為什麼呢?

因為鏈式程式設計思維,要求我們不斷在原來的已經修改的基礎上再進行修改,但是我們函式的返回值是person類物件的值拷貝,因此當你再次用personobject.add10()去呼叫add10()成員函式時(personobject.add10().add10()),其實是「personobject.add10()返回的新的臨時變數,再在這個新的臨時變數的基礎上再呼叫add10()函式」,最終我們的personobject物件僅僅呼叫了一次add10()成員函式。

要想不改變上述函式的結構,依然讓函式返回person類物件而非引用,我們要對程式做一下修改:

#include #include using namespace std;  

class person  

person add10() // 每呼叫一次age加10  

person(string name, int age)  

};  

int main()  

我們再personobject.add10()返回值的基礎上再次呼叫add10()函式才可以達到我們鏈式程式設計的結果。

Objective C 鏈式程式設計思想

鏈式程式設計就是將呼叫多個方法用點語法連線起來,讓 更加簡潔和可讀性更高 剛開始接觸鏈式程式設計是masonry,用起來真的非常爽 1 make.left.right.top.equalto self.view 這樣一句語句就呼叫了4個方法 left呼叫了left屬性的get方法 right,top...

swift中鏈式程式設計思想

作為乙個ios程式設計師基本上都應該接觸過masonry這個自動布局庫。這個庫能夠幫助程式設計師極大程度的簡化自動布局的 通過點 呼叫的方式,將 連線成一行,大大增加了 的可讀性,這就是本篇要提到的鏈式程式設計。本篇主要是通過乙個簡單的例子來實現上述的鏈式程式設計。計算器demo class cal...

jQuery排他思想 鏈式程式設計

排他思想 乾掉所有人,設定我自己,先將所有人全設定為 然後再設定當前 的值也就是 先排除掉其他的 包括自己 最後再給自己 this 加想要的效果。28號00 28號01 28號02 28號03 28號04 28號05 執行結果 乾掉所有人,設定我自己,先將所有人全設定為 然後再設定當前的值以上 不夠...