定义一个Cat类,拥有数据成员char CatName[20],表示Cat的名字;数据成员int CatAge,表示Cat的年岁;静态数据成员int numOfCats,记录Cat的个体数目;成员函数void ShowCat(),输出Cat的名字、年岁;静态成员函数getNumOfCats(),读取numOfCats. 设计程序测试这个类
时间: 2023-06-12 14:04:03 浏览: 172
下面是Cat类的定义和实现:
```cpp
#include <iostream>
#include <cstring>
using namespace std;
class Cat {
private:
char CatName[20];
int CatAge;
static int numOfCats;
public:
Cat(const char *name, int age) {
strcpy(CatName, name);
CatAge = age;
numOfCats++;
}
void ShowCat() {
cout << "Cat's name: " << CatName << endl;
cout << "Cat's age: " << CatAge << endl;
}
static int getNumOfCats() {
return numOfCats;
}
};
int Cat::numOfCats = 0;
int main() {
Cat cat1("Tom", 3);
Cat cat2("Jerry", 2);
cat1.ShowCat();
cat2.ShowCat();
cout << "Number of cats: " << Cat::getNumOfCats() << endl;
return 0;
}
```
程序输出:
```
Cat's name: Tom
Cat's age: 3
Cat's name: Jerry
Cat's age: 2
Number of cats: 2
```
在这个程序中,我们定义了一个Cat类,包含了Cat的名字和年龄,以及一个静态数据成员记录Cat的个体数目。在Cat的构造函数中,每次创建一个新的Cat对象,都会将numOfCats加一。我们还定义了一个ShowCat成员函数,用于输出Cat的名字和年龄。最后,我们在main函数中创建了两个Cat对象,分别输出它们的信息,并读取了当前Cat的个体数目。
阅读全文