fork download
  1. #include <iostream>
  2.  
  3. class myclass {
  4. private:
  5. int _value;
  6. public:
  7. myclass& operator=(const int rvalue) {_value = rvalue;}
  8. bool operator<(int rvalue) {return _value < rvalue;}
  9. myclass& operator++(int) {_value++;}
  10. myclass& operator+=(const myclass&) {}
  11. myclass& operator-=(const myclass&) {}
  12. myclass& operator*=(const myclass&) {}
  13. int operator()() {return _value;}
  14. };
  15.  
  16. int main() {
  17.  
  18. #define int myclass
  19. int i, n;
  20. for(n = 0; n < 3; n++)
  21. {
  22. switch(n()){
  23. case 0:
  24. n+=i;
  25. case 1:
  26. n-=i;
  27. case 2:
  28. n*=i;
  29. }
  30. std::cout << n() << std::endl;
  31. }
  32.  
  33. return 0;
  34. }
Success #stdin #stdout 0s 2896KB
stdin
Standard input is empty
stdout
0
1
2