ex1505.cpp

来自「teach yourself C++ in 21 days 第五版」· C++ 代码 · 共 88 行

CPP
88
字号
  // Ex1505.cpp
  #include <iostream>
  using namespace std;
  class myClass
  {
     public:
       myClass();
       ~myClass();
       void ShowMember();
       void ShowSecond();
       void ShowThird();
       static int GetStatic();
     private:
       int itsMember;
       int itsSecond;
       int itsThird;
       static int itsStatic;
  };
  
  myClass::myClass():
    itsMember(1),
    itsSecond(2),
    itsThird(3)
  {
     itsStatic++;
  }
   
  myClass::~myClass()
  {
     itsStatic--;
     cout << "In destructor. ItsStatic: " << itsStatic << endl;
  }
    
  void myClass::ShowMember()
  {
     cout << "itsMember: " << itsMember << endl;
  }
     
  void myClass::ShowSecond()
  {
     cout << "itsSecond: " << itsSecond << endl;
  }
      
  void myClass::ShowThird()
  {
     cout << "itsThird: " << itsThird << endl;
  }
  int myClass::itsStatic = 0;
       
  int myClass::GetStatic()
  {
     return itsStatic;
  }
        
  int main()
  {
     void (myClass::*PMF) ();
         
     myClass obj1;
     PMF=myClass::ShowMember;
     (obj1.*PMF)();
     PMF=myClass::ShowSecond;
     (obj1.*PMF)();
     PMF=myClass::ShowThird;
     (obj1.*PMF)();
     cout << "Static: " << myClass::GetStatic() << endl;
        
     myClass obj2;
     PMF=myClass::ShowMember;
     (obj2.*PMF)();
     PMF=myClass::ShowSecond;
     (obj2.*PMF)();
     PMF=myClass::ShowThird;
     (obj2.*PMF)();
     cout << "Static: " << myClass::GetStatic() << endl;
            
     myClass obj3;
     PMF=myClass::ShowMember;
     (obj3.*PMF)();
     PMF=myClass::ShowSecond;
     (obj3.*PMF)();
     PMF=myClass::ShowThird;
     (obj3.*PMF)();
     cout << "Static: " << myClass::GetStatic() << endl;
        
     return 0;
  }

⌨️ 快捷键说明

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