定义一个员工 Staff 类,其中包含数据成员姓名、职工号,静态数据成员num记录员工人 数,成员函数包括:构造函数、析构函数,静态成员函数 getNum用来输出当前人数。当初始化一个员工对象,num 值加 1;当释放一个员工对象,num 值减1,设计并测试这个类。
时间: 2023-05-15 11:04:39 浏览: 97
好的,这是一个简单的员工类的定义和实现:
```cpp
#include <iostream>
#include <string>
class Staff {
public:
Staff(const std::string& name, int id) : name_(name), id_(id) {
num_++;
}
~Staff() {
num_--;
}
static int getNum() {
return num_;
}
private:
std::string name_;
int id_;
static int num_;
};
int Staff::num_ = 0;
int main() {
Staff s1("张三", 1001);
std::cout << "当前员工人数:" << Staff::getNum() << std::endl;
{
Staff s2("李四", 1002);
std::cout << "当前员工人数:" << Staff::getNum() << std::endl;
}
std::cout << "当前员工人数:" << Staff::getNum() << std::endl;
return 0;
}
```
输出结果为:
```
当前员工人数:1
当前员工人数:2
当前员工人数:1
```
这个类包含了一个静态数据成员 `num_`,用来记录当前员工人数。在构造函数中,每次初始化一个员工对象,`num_` 值加 1;在析构函数中,每次释放一个员工对象,`num_` 值减 1。同时,还定义了一个静态成员函数 `getNum()`,用来输出当前人数。