#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 執行結果 乾掉所有人,設定我自己,先將所有人全設定為 然後再設定當前的值以上 不夠...