Invariant properties -- algebraic laws


  class employee { 
employee
public: employee( int n = 0 ) : sal(n) { } employee* salary(int n) { sal = n; return this; } virtual long salary() { return sal; } protected: int sal; };

Invariant


     k == (e->salary(k))->salary() 
  

slide: Invariant properties as algebraic laws