//   перегрузка операторов инкремента и декремента

#include <iostream.h>

class TAnyClass {
       int x;
    public:
       TAnyClass(int xx) { x = xx; }
       int operator++() { return ++x; }  // Префиксный ++object
       int operator++(int) { return x++; } // Постфиксный object++
       int operator--() {  return --x; }   // Префиксный --object
       int operator--(int) { return x--; } // Постфиксный object--
       int GetX(void) {  return x;  }
};



main()
{
      TAnyClass t(100);
      cout << "t == " << t.GetX() << "; ++t == " << ++t << '\n';
      cout << "t == " << t.GetX() << "; t++ == " << t++ << '\n';
      cout << "t == " << t.GetX() << "; --t == " << --t <<  '\n';
      cout << "t == " << t.GetX() << "; t-- == " << t-- <<  ' \n';
}
