overloadincrement.cpp

来自「《24学时精通c++》的光盘内容」· C++ 代码 · 共 45 行

CPP
45
字号
 // Listing 14.2

 // Overloading the increment operator

 #include <iostream>

 

 class Counter

 {

 public:

     Counter();

     ~Counter(){}

     int GetItsVal()const { return itsVal; }

     void SetItsVal(int x) {itsVal = x; }

     void Increment() { ++itsVal; }

     const Counter& operator++ ();

 

 private:

     int itsVal;

 };

 

 Counter::Counter():

 itsVal(0)

 {}

 

 const Counter& Counter::operator++()

 {

     ++itsVal;

     return *this;

 }

 

 int main()

 {

     Counter i;

     std::cout << "The value of i is " << i.GetItsVal() 

         << std::endl;

     i.Increment();

     std::cout << "The value of i is " << i.GetItsVal() 

         << std::endl;

     ++i;

     std::cout << "The value of i is " << i.GetItsVal() 

         << std::endl;

     Counter a = ++i;

     std::cout << "The value of a: " << a.GetItsVal();

     std::cout << " and i: " << i.GetItsVal() << std::endl;

     return 0;

 }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?