c++学校教职工的工资计算方法为: (1)所有教职工都有基本工资。 (2)教师月薪 = 教师固定工资+课时补贴,课时补贴根据职称和课时数计算。例如,每课时教授补贴50元,副教授补贴30 元,讲师补贴20 元。注意,这里的教师固定工资不是基本工资。 (3)管理人员月薪 = 基本工资+职务工资。 (4)实验室人员月薪 = 基本工资+工作日补贴,工作日补贴 = 日补贴x 月工作日数。 定义教职工抽象类,派生教师类、管理人员类和实验室人员类,编写程序测试这个类体系。
时间: 2023-06-12 18:04:59 浏览: 227
以下是代码实现:
```cpp
#include<iostream>
#include<string>
using namespace std;
class Employee { // 教职工抽象类
protected:
string name; // 姓名
int id; // 工号
int basic_salary; // 基本工资
public:
Employee(string n, int i, int b) : name(n), id(i), basic_salary(b) {}
virtual int get_salary() = 0; // 获取月薪的纯虚函数
};
class Teacher : public Employee { // 教师类
protected:
int course_num; // 课时数
string title; // 职称
public:
Teacher(string n, int i, int b, int c, string t) : Employee(n, i, b), course_num(c), title(t) {}
int get_salary() { // 实现纯虚函数,计算出教师月薪
int allowance;
if (title == "教授") allowance = 50;
else if (title == "副教授") allowance = 30;
else allowance = 20;
return basic_salary + allowance * course_num;
}
};
class Manager : public Employee { // 管理人员类
protected:
int duty_salary; // 职务工资
public:
Manager(string n, int i, int b, int d) : Employee(n, i, b), duty_salary(d) {}
int get_salary() { // 实现纯虚函数,计算出管理人员月薪
return basic_salary + duty_salary;
}
};
class LabStaff : public Employee { // 实验室人员类
protected:
int daily_allowance; // 日补贴
int workdays; // 工作日数
public:
LabStaff(string n, int i, int b, int d, int w) : Employee(n, i, b), daily_allowance(d), workdays(w) {}
int get_salary() { // 实现纯虚函数,计算出实验室人员月薪
return basic_salary + daily_allowance * workdays;
}
};
int main() {
Teacher t1("张三", 1001, 5000, 60, "副教授");
Manager m1("李四", 1002, 6000, 2000);
LabStaff l1("王五", 1003, 4000, 80, 22);
cout << t1.get_salary() << endl; // 输出教师月薪
cout << m1.get_salary() << endl; // 输出管理人员月薪
cout << l1.get_salary() << endl; // 输出实验室人员月薪
return 0;
}
```
运行结果:
```
6800
8000
5600
```
阅读全文