list1504.cpp

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

CPP
45
字号
//Listing 15.4 static data members

#include <iostream>

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

int Cat::HowManyCats = 0;

void TelepathicFunction();

int main()
{
   const int MaxCats = 5;
   Cat *CatHouse[MaxCats]; int i;
   for (i = 0; i < MaxCats; i++)
   {
      CatHouse[i] = new Cat(i);
      TelepathicFunction();
   }

   for ( i = 0; i < MaxCats; i++)
   {
      delete CatHouse[i];
      TelepathicFunction();
   }
   return 0;
}

void TelepathicFunction()
{
   std::cout <<"There are "  << Cat::GetHowMany() 
             <<" cats alive!" << std::endl;
}

⌨️ 快捷键说明

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