This post is related to my earlier one. Expanding on the subject of the order of evalutions, let’s start with an example:
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;
}