Problem Description
某公司有老板Boss、雇员Employee、小时工HourlyWorker和营销人员CommWorker,
每类人员都有姓名、职工编号、年龄、性别、工资等数据。
他们的薪金计算方法如下:
老板实行年薪制,如一年15万;
雇员按月计酬,方法是,基本工资+奖金;
小时工按工作时间计算报酬,方法是,工作小时每小时单价;
营销人员按月计酬,方法是,基本工资+销售利润5%。
设计计算各类人员报酬的程序,打印输出各位工作人员的所有数据。
//你的代码将被嵌在这里
int main() {
Person* pb=new Boss(“张华”, “N001”, 30, “男”);
pb->print();
Person* pe=new Employee(“李明”, “N002”, 40, “男”, 900,1000);
pe->print();
Person* ph=new HourlyWorker(“向力”, “N003”, 38, “男”,30,60);
ph->print();
Person* pc=new CommWorker(“刘晓云”, “N004”, 28, “女”,1600,10000);
pc->print();
delete pb;
delete pe;
delete ph;
delete pc;
return 0;
}
Sample Output
老板
姓名:张华
职工编号:N001
年龄:30
性别:男
年薪:15万元
雇员
姓名:李明
职工编号:N002
年龄:40
性别:男
基本工资:900元
奖金:1000元
月薪:1900元
小时工
姓名:向力
职工编号:N003
年龄:38
性别:男
每小时单价:60元
工作时间:30小时
报酬:1800元
营销人员
姓名:刘晓云
职工编号:N004
年龄:28
性别:女
基本工资:1600元
销售利润:10000元
月酬:2100元
#include <iostream>
using namespace std;
#include<string>
class Person
{
public:
string name, id, sex;
int age;
// Person(){}
virtual void print() = 0;
};
class Boss :public Person//老板
{
public:
Boss(string a, string b, int c, string d)
{
name = a;
id = b;
age = c;
sex = d;
}
void