class bounded : public counter {\fbox{bounded}
public: bounded(int b = MAXINT) : counter(0), max(b) {} void operator++() { require( value() < max() );\c{// to prevent overflow}
counter::operator++(); } bool invariant() { return value() <= max && counter::invariant(); } private: int max; };