counten2.cpp

来自「本课程主要介绍面向对象程序设计的方法和c++语言的基本概念。以c++语言中的面向」· C++ 代码 · 共 51 行

CPP
51
字号
// counten2.cpp
// constructors in derived class
#include <iostream>
using namespace std;
////////////////////////////////////////////////////////////////
class Counter
   {
   protected:                            //NOTE: not private
      unsigned int count;                //count
   public:
      Counter() : count(0)               //constructor, no args
         {  }
      Counter(int c) : count(c)          //constructor, one arg
         {  }
      unsigned int get_count() const     //return count
         { return count; }
      Counter operator ++ ()             //incr count (prefix)
         { return Counter(++count); }
   };
////////////////////////////////////////////////////////////////
class CountDn : public Counter
   {
   public:
      CountDn() : Counter()              //constructor, no args
         { }
      CountDn(int c) : Counter(c)        //constructor, 1 arg
         { }
      CountDn operator -- ()             //decr count (prefix)
         { return CountDn(--count); }
   };
////////////////////////////////////////////////////////////////
int main()
   {
   CountDn c1;                           //class CountDn
   CountDn c2(100);

   cout << "\nc1=" << c1.get_count();    //display
   cout << "\nc2=" << c2.get_count();    //display

   ++c1; ++c1; ++c1;                     //increment c1
   cout << "\nc1=" << c1.get_count();    //display it

   --c2; --c2;                           //decrement c2
   cout << "\nc2=" << c2.get_count();    //display it

   CountDn c3 = --c2;                    //create c3 from c2
   cout << "\nc3=" << c3.get_count();    //display c3
   cout << endl;
   return 0;
   }

⌨️ 快捷键说明

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