Increment counter variable with ++ operator, uses unnamed temporary object - C++ Class

C++ examples for Class:Operator Overload

Description

Increment counter variable with ++ operator, uses unnamed temporary object

Demo Code

#include <iostream>
using namespace std;
class Counter// w w w.ja  va2s  .c o m
{
   private:
       unsigned int count;        //count
   public:
       Counter() : count(0)       //constructor  no args
       {  }
       Counter(int c) : count(c)  //constructor, one arg
       {  }
       int get_count()            //return count
       { return count; }
       Counter operator ++ ()     //increment count
       {
          ++count;                //increment count, then return
          return Counter(count);  //  an unnamed temporary object
       }                       //  initialized to this count
};
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;
}

Result


Related Tutorials