C++高手请帮个忙啦!!!

来源:百度知道 编辑:UC知道 时间:2024/05/27 20:53:21
定义一个Cat类,拥有静态数据成员HowManyCats,记录Cat的个体数目;静态成员函数GetHowMany(),存取HowManyCats。设计程序测试这个类,体会静态数据成员和静态成员函数的用法。下面是我做的程序,但有错误。请把它复制然后调试一下,帮我解决一下!
#include<iostream.h>
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 Telepathic Function();
int main()
{
const int MaxCats=5;
Cat*CatHouse[MaxCats]; int i;
for(i=0;i<MaxCats;i++)
{CatHouse[i]=new Cat();
Telepathic Function();}
for(i=0;i<MaxCats;i++)
{delete CatHouse[i];
Telepathic Function();}
return 0;}
void Telepathic Function()
{
cout<<"There are"<<Cat::GetHowMany()<<"Cats alive!\n";
}

搞定
#include<iostream.h>
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(5);
TelepathicFunction();
}
for(i=0;i<MaxCats;i++)
{
delete CatHouse[i];
TelepathicFunction();
}
return 0;
}
void TelepathicFunction()
{
cout<<\"There are\"<<Cat::GetHowMany()<<\"Cats alive!\\n\";
}

将所有的Telepathic Function中的Funct