fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class Int
  5. {
  6. public:
  7. Int(const int& num) : _num(num) {}
  8. Int(const Int& num) : _num(num._num) {}
  9. Int& operator=(const Int& num) {
  10. _num = num._num;
  11. return *this;
  12. }
  13. ~Int(void) {}
  14.  
  15. const int& num(void) const {
  16. return _num;
  17. }
  18.  
  19. Int operator++(int) {
  20. Int result(*this);
  21. _num++;
  22. return result;
  23. }
  24. private:
  25. int _num;
  26. };
  27.  
  28. inline const Int operator+(const Int& a, const Int& b) {
  29. return Int(a.num() + b.num());
  30. }
  31.  
  32.  
  33. int main(void)
  34. {
  35. {
  36. int C=2, U=0;
  37. U = C + C++;
  38.  
  39. cout << "U = " << U << endl;
  40. }
  41.  
  42. {
  43. Int C=2, U=0;
  44. U = C + C++;
  45.  
  46. cout << "U = " << U.num() << endl;
  47. }
  48. return 0;
  49. }
Success #stdin #stdout 0.01s 2724KB
stdin
Standard input is empty
stdout
U = 4
U = 5