Overloading the increment operator : overload unary operator « Operator Overloading « C++ Tutorial






#include <iostream>
 
 class MyType
 {
 public:
     MyType();
     ~MyType(){}
     int getValue()const { 
        return myValue; 
     }
     void setValue(int x) {
        myValue = x; 
     }
     void Increment() { 
        ++myValue; 
     }
     const MyType& operator++ ();
 
 private:
     int myValue;
 };
 
 MyType::MyType():myValue(0){}
 
 const MyType& MyType::operator++()
 {
     ++myValue;
     return *this;
 }
 
 int main()
 {
     MyType i;
     std::cout << "The value of i is " << i.getValue() << std::endl;
     i.Increment();
     std::cout << "The value of i is " << i.getValue() << std::endl;
     ++i;
     std::cout << "The value of i is " << i.getValue() << std::endl;
     MyType a = ++i;
     std::cout << "The value of a: " << a.getValue();
     std::cout << " and i: " << i.getValue() << std::endl;
     return 0;
 }
The value of i is 0
The value of i is 1
The value of i is 2
The value of a: 3 and i: 3








10.8.overload unary operator
10.8.1.Overloading ++
10.8.2.Overloading the increment operator
10.8.3.Overload the ++ unary operator
10.8.4.Overload the postfix version of ++.
10.8.5.Demonstrate prefix and postfix ++
10.8.6.Overload prefix ++ for Point
10.8.7.Lvalues and rvalues
10.8.8.Using a Friend to Overload ++ or – –