class A {\fbox{invariant A: }
public: A() { n = 0; } int value() { return next(n); } void strange() { next(-3); } protected: virtual int next( int i ) { return n = n + i * i; } int n; };
class B : public A {\fbox{not \ifsli{ inv A }{invariant A } }
public: B() : A() { } protected: virtual int next( int i ) { return n = n + (n + 1) * i; } };