C++ examples for Class:Operator Overload
Increment counter variable with ++ operator, return value
#include <iostream> using namespace std; class Counter// w w w . jav a 2s. co m { private: unsigned int count; //count public: Counter() : count(0) //constructor { } unsigned int get_count() //return count { return count; } Counter operator ++ () //increment count { ++count; //increment count Counter temp; //make a temporary Counter temp.count = count; //give it same value as this obj return temp; //return the copy } }; int main() { Counter c1, c2; //c1=0, c2=0 cout << "\nc1=" << c1.get_count(); //display cout << "\nc2=" << c2.get_count(); ++c1; //c1=1 c2 = ++c1; //c1=2, c2=2 cout << "\nc1=" << c1.get_count(); //display again cout << "\nc2=" << c2.get_count() << endl; return 0; }