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






#include <iostream>
using std::cout;
using std::endl;

class MyType {
  public:
    MyType (int arg = 0) : x(arg) {
    }

    bool operator!=(const MyType& arg) const {      
      cout << "comparing" << endl;  
      return x != arg.x;
    }

    int operator*() const { return x; }              

    MyType& operator++() {                          
      ++x;
      return *this;
    }

  private:
    int x;
};

int main() {
  MyType begin(3);
  MyType end(7);
  
  for( ; begin != end ; ++begin)
    cout << *begin << " ";
  
  return 0;
}
comparing
3 comparing
4 comparing
5 comparing
6 comparing








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 – –