首页 新闻 会员 周边

静态函数如何实现++

0
悬赏园豆:10 [已解决问题] 解决于 2015-06-02 17:01

大神
 #include <iostream>

using namespace std;

class Cat
{
public:
    Cat(){HowManyCats++; }  //构造函数初始化数据成员的同时,将HowManyCats进行加1操作
    ~Cat() { HowManyCats--; }   //每只猫对象生存期结束时,调用析构函数,析构函数将HowManyCats进行减1操作
    static int GetHowMany();    //静态成员函数
private:
    static int HowManyCats;  //定义静态数据成员HowManyCats

      };
int Cat::HowManyCats = 0;
void TelepathicFunction();
int main()
{
    int MaxCats;
    cin>>MaxCats;
    Cat *CatHouse[MaxCats];
    int i;
    for(i =0;i<MaxCats;i++)
    {
        CatHouse[i] = new Cat;
        TelepathicFunction();
    }
    for(i =0;i<MaxCats;i++)
    {
        delete CatHouse[i];
        TelepathicFunction();
    }
    return 0;
}
void TelepathicFunction()
{
    cout << "There are " << Cat::GetHowMany() << " cats alive!"<< endl;
}
这个里面的Cat::GetHowMany()应该怎么改写 

零魂的主页 零魂 | 初学一级 | 园豆:135
提问于:2015-06-02 16:52
< >
分享
最佳答案
0

static int GetHowMany(){return HowManyCats;}

这样写就可以了。

收获园豆:10
[0] | 小虾三级 |园豆:1257 | 2015-06-02 16:57

谢谢

零魂 | 园豆:135 (初学一级) | 2015-06-02 17:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册