定义一个Cat类,拥有静态数据成员numOfCats,记录Cat的对象(个体)数目。定义静态成员函数getNumOfCats(),获得变量numOfCats向屏幕输出。需采用多文件结构实现。
时间: 2024-11-27 16:11:24 浏览: 25
在使用多文件结构定义一个包含静态数据成员和静态成员函数的类时,我们需要将类声明和函数定义分别放在不同的文件中。这里假设有一个`cat.h` 文件用于定义类`Cat` 和静态成员,以及一个`main.cpp` 文件进行测试。下面是具体的实现:
**cat.h**
```cpp
#ifndef CAT_H
#define CAT_H
#include <iostream>
class Cat {
public:
static int numOfCats; // 静态数据成员
// 静态成员函数,获取并返回numOfCats
static void getNumOfCats();
};
#endif // CAT_H
```
**cat.cpp**
```cpp
#include "cat.h"
// 实现静态数据成员和函数
int Cat::numOfCats = 0;
void Cat::getNumOfCats() {
std::cout << "当前猫的数量: " << Cat::numOfCats << std::endl;
}
```
**main.cpp**
```cpp
#include "cat.h"
int main() {
// 初始化numOfCats
Cat::numOfCats = 3;
// 调用静态成员函数
Cat::getNumOfCats();
// 假设创建了新的猫对象,不需要显示创建,因为numOfCats会自动加一
// Cat cat1; // 这一行可以删除,因为我们只关心总数目
return 0;
}
```
在这个例子中,`cat.h` 文件中定义了 `Cat` 类的静态数据成员`numOfCats` 和静态成员函数`getNumOfCats()`,而在`cat.cpp` 中实现了它们。`main.cpp` 中初始化`numOfCats` 并调用`getNumOfCats()` 函数来展示当前猫的数量。
阅读全文