现在公司要开发一个系统,管理各职位的工资,给出下面的一个基类框架:
class employee
{
protected:
string eid; // 员工编号
string name; // 员工姓名
public:
virtual void display() = 0;
}
请完成下列要求:
1)以 employee 为基类,派生出 salesman 、 manager 、 chief 三个类。
2) salesman 含有两个额外的 protected 变量,第一个 int 类型变量 time 表示工作时间,第二个
int 类型变量 num 表示销售数, salesman 不含默认构造函数,但含有两个带参数的构造函数,参数
为 (int _time, int _num) ,作用是将 time 的初值设置为 _time , num 的初值设为 _num , 默认
初值均为 0。
3) salesman 只含有一个公有的成员函数 display() ,用于输出员工的当月工资,计算公式为:10
* 工作时间 + 6 * 销售数
4) manager 含有一个额外的 protected 的 int 类型变量 time 表示工作时间, manager 不含默
认构造函数,但含有一个带参数的构造函数,参数为 (int _time) ,作用是将 time 的初值设置为
_time ,默认初值均为 0。
5) manager 只含有一个公有的成员函数 display() ,用于输出员工的当月工资,计算公式为:20 *
工作时间
6) chief 含有一个额外的 protected 的 int 类型变量 achievement 表示业绩, chief 不含默认
构造函数,但含有一个带参数的构造函数,参数为 (int _achievement) ,作用是将 achievement 的
初值设置为 _achievement ,默认初值均为 0。
7) chief 只含有一个公有的成员函数 display() ,用于输出员工的当月工资,计算公式为:30% *
业绩
8)生成上述类并编写主函数,要求主函数中有一个基类employee指针数组,数组元素不超过10个。
主函数根据输入的信息,相应建立 salesman, manager, chief 类对象,对于 salesman 给出工作时间
和销售数, manager 给出工作时间, chief 给出业绩,保证数据合法。
注意:请保证按照上述要求运用面向对象的思想实现,否则你可能会
被判为0分。