c++面试题目_帮帮忙看下C++的题目

原问题:帮帮忙看下C++的题目
分类:编程开发 > 最后更新时间:【2017-02-25 14:33:10】
问题补充:

定义一个Cat类,拥有静态数据成员numOfCats,记录Cat的个体数目;静态成员函数getNumOfCats(),读取unmOfCats.设计程序测试这个类,体会静态数据成员和静态成员函数的用法。

最佳答案

#include <iostream>
using namespace std;

class Cat {
static int numOfCats;
int ID;
public:
Cat() { ID = numOfCats++; }
Cat(const Cat& r) { ID = r.ID; numOfCats++; }
~Cat() { --numOfCats; cout << numOfCats << endl; }
static void getNumOfCats()
{ cout << "Number of Cats: " << Cat::numOfCats << endl; }
void getNumOfCats_v2() const
{ cout << "Number of Cats: " << Cat::numOfCats << endl; }
void Print() const { cout << "Cat No. " << ID << endl; }
};

int Cat::numOfCats = 0;

int main() {
Cat a;
a.Print();
Cat::getNumOfCats();
Cat b(a);
Cat::getNumOfCats();
Cat c[3];
Cat::getNumOfCats();
c[0].getNumOfCats_v2();
}

程序的输出如下:

Cat No. 0
Number of Cats: 1
Number of Cats: 2
Number of Cats: 5
Number of Cats: 5
4
3
2
1
0

从中能够看出,读取静态成员的方法不一定也要是静态方法。

最佳答案由网友  BIRD11329  提供
公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
4

分享到:

其他回答

暂无其它回答!

    推荐
  • c++面试题目_有三道C++的题目