This post is related to my earlier one. Expanding on the subject of the order of evalutions, let’s start with an example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | class A { public : A() : _myValue(0) {}; A& IncrVarTen() { _myValue += 10; cout << "value is:" << _myValue << endl; return * this ; } A& IncrVarTwenty() { _myValue += 20; cout << "value is:" << _myValue << endl; return * this ; } int _myValue; }; int main() { A a; a.IncrVarTen().IncrVarTwenty(); cout << "Final value is:" << a._myValue << endl; return 0; } |