list1503.cpp

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

CPP
43
字号
//Listing 15.3 private static data members
#include <iostream>
using std::cout;
using std::endl;

class Cat
{
  public:
    Cat(int age):itsAge(age){HowManyCats++; }
    virtual ~Cat() { HowManyCats--; }
    virtual int GetAge() { return itsAge; }
    virtual void SetAge(int age) { itsAge = age; }
    virtual int GetHowMany() { return HowManyCats; }

  private:
    int itsAge;
    static int HowManyCats;
};

int Cat::HowManyCats = 0;

int main()
{
   const int MaxCats = 5; int i;
   Cat *CatHouse[MaxCats];

   for (i = 0; i < MaxCats; i++)
      CatHouse[i] = new Cat(i);

   for (i = 0; i < MaxCats; i++)
   {
      cout << "There are ";
      cout << CatHouse[i]->GetHowMany();
      cout << " cats left!\n";
      cout << "Deleting the one that is ";
      cout << CatHouse[i]->GetAge()+2;
      cout << " years old" << endl;
      delete CatHouse[i];
      CatHouse[i] = 0;
   }
   return 0;
}

⌨️ 快捷键说明

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