(1)定义描述职工档案的类Archives,私有数据成员为职工号(No[5])、姓名(Name[9])、性别(Sex[3])、年龄(Age)。成员函数有:构造函数、显示职工信息的函数Show()。再由职工档案类派生出职工工资类Laborage,在职工工资类Laborage中新增数据成员:应发工资(Salary)、社保金(Security)、实发工资(Fsalary),其成员函数有:构造函数,计算实发工资的函数count(),计算公式为:实发工资=应发工资−社保金。显示职工档案及工资的函数display()。在主函数中用Laborage类定义职工对象lab,并赋初始值("1001","张三","男",20,1800,50),然后显示职工档案与工资。
时间: 2024-02-21 21:00:44 浏览: 75
这是一个描述职工档案和工资的程序,代码如下:
```c++
#include<iostream>
#include<string.h>
using namespace std;
// 职工档案类
class Archives {
protected:
char No[5]; // 职工号
char Name[9]; // 姓名
char Sex[3]; // 性别
int Age; // 年龄
public:
Archives(char no[], char name[], char sex[], int age): Age(age) {
strcpy(No, no);
strcpy(Name, name);
strcpy(Sex, sex);
}
void Show() {
cout << "职工号:" << No << endl;
cout << "姓名:" << Name << endl;
cout << "性别:" << Sex << endl;
cout << "年龄:" << Age << endl;
}
};
// 职工工资类,继承自职工档案类
class Laborage : public Archives {
private:
int Salary; // 应发工资
int Security; // 社保金
int Fsalary; // 实发工资
public:
Laborage(char no[], char name[], char sex[], int age, int salary, int security): Archives(no, name, sex, age), Salary(salary), Security(security) {}
void count() {
Fsalary = Salary - Security;
}
void display() {
Show();
cout << "应发工资:" << Salary << endl;
cout << "社保金:" << Security << endl;
cout << "实发工资:" << Fsalary << endl;
}
};
int main() {
Laborage lab("1001", "张三", "男", 20, 1800, 50);
lab.count();
lab.display();
return 0;
}
```
在该程序中,Archives类是描述职工档案的类,包含了职工号、姓名、性别、年龄等私有数据成员,以及构造函数和Show()函数。Laborage类是由Archives类派生出来的职工工资类,新增了应发工资、社保金、实发工资等数据成员和count()、display()函数,其中count()函数用于计算实发工资,display()函数用于显示职工的档案和工资信息。在主函数中,先用Laborage类定义了一个职工对象lab,并给其赋初始值,然后调用count()函数计算实发工资,最后调用display()函数显示职工的档案和工资信息。
阅读全文