c++面试题目_帮帮忙看下C++的题目
定义一个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
从中能够看出,读取静态成员的方法不一定也要是静态方法。
其他回答
暂无其它回答!