class box {public: box (int v) : value(v) { }
class box {public: box (int v) : value(v) { }
// prefix versions, ++aBox int operator ++ () { value++; return value; } int operator -- () { value--; return value; }
int operator ++ (int) // postfix versions aBox++
{ int result = value; // step 1, save old value value++; // step 2, update value return result; // step 3, return original } int operator -- (int) { int result = value; value--; return result; } private: int value;