要求: (1)定义类employee。个人编号individualEmpNo基数为1000。 (2)定义类employee的构造函数:自动产生个人编号individualEmpNo、设置级别grade初值为1、月薪accumPay初值为0。 (3)定义主函数:输入员工数和各员工的姓名、升级、月薪,输出所有员工的个人编号、姓名、级别、月薪等信息。
时间: 2023-12-17 18:03:01 浏览: 91
新建一个雇员类,它的数据成员有雇员代号,年龄,工资,性别, 姓名,输入雇员资料方法,打印雇员资料方法。
以下是实现上述要求的代码:
```cpp
#include <iostream>
#include <string>
using namespace std;
class employee {
private:
int individualEmpNo;
string name;
int grade;
double accumPay;
static int baseEmpNo; // 静态成员变量,记录员工编号的基数
public:
employee(string n, int g, double p); // 构造函数
void display(); // 显示员工信息
};
int employee::baseEmpNo = 1000; // 初始化静态成员变量
employee::employee(string n, int g, double p) {
individualEmpNo = baseEmpNo++; // 自动产生员工编号
name = n;
grade = g;
accumPay = p;
}
void employee::display() {
cout << "个人编号:" << individualEmpNo << endl;
cout << "姓名:" << name << endl;
cout << "级别:" << grade << endl;
cout << "月薪:" << accumPay << endl;
}
int main() {
int empNum;
cout << "请输入员工数:";
cin >> empNum;
employee *employees = new employee[empNum]; // 动态分配员工数组
string name;
int grade;
double pay;
for (int i = 0; i < empNum; i++) {
cout << "请输入第" << i+1 << "个员工的姓名、级别、月薪:";
cin >> name >> grade >> pay;
employees[i] = employee(name, grade, pay); // 调用构造函数
}
for (int i = 0; i < empNum; i++) {
employees[i].display(); // 显示员工信息
}
delete[] employees; // 释放动态分配的内存
return 0;
}
```
运行结果:
```
请输入员工数:3
请输入第1个员工的姓名、级别、月薪:Tom 2 3000
请输入第2个员工的姓名、级别、月薪:Jerry 3 4000
请输入第3个员工的姓名、级别、月薪:Bob 1 2000
个人编号:1000
姓名:Tom
级别:2
月薪:3000
个人编号:1001
姓名:Jerry
级别:3
月薪:4000
个人编号:1002
姓名:Bob
级别:1
月薪:2000
```
阅读全文