定义一个Cat类,拥有静态数据成员numOfCats,记录Cat的个体数目;静态成员函数getNumOfCats(),存取numOfCats。设计程序测试这个类,体会静态数据成员和静态成员函数的用法。
#include<iostream>
using namespace std;
class Cat{
public:
Cat(int age):
itsAge(age){
numofCats++;
}
virtual ~Cat(){
numofCats--;
}
virtual int getAge(){
return itsAge;
}
virtual void setAge(int age){
itsAge=age;
}
static int getNumofCats(){
return numofCats;
}
private:
int itsAge;
static int numofCats;
};
int Cat::numofCats=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(){
cout<<"There are"<<Cat::getNumofCats()<<"cats alive!\n";
}