编写一个程序实现小型公司的工资管理。该公司有4类人员,经理(manager)、技术人员(technician)、销售(salesmanager)、销售经理(salesmanager)。这些人员都是职员(employee),有姓名和月工资信息。月工资的计算方法是:经理固定月薪8000元,技术人员每小时100元,销售员按当月销售额的4%提成,销售经理既拿固定月工资5000元也拿销售提成,销售提成为所管辖部门当月销售额的5‰。要求编程计算月工资并显示全部信息。
经理Tom 技术人员John 销售经理Antony 销售Jane。
由键盘输入技术人员的工时数、销售经理的部门总销售额,销售员的销售额
提示:共同基类设置为虚基类。
#include<iostream>
#include<string>
using namespace std;
class empolyee
{
protected:
string name;
int pay;
public:
empolyee(){}
void display()
{cout<<name<<"本月工资"<<pay<<endl;}
};
class manager:virtual public empolyee
{
public:
manager():empolyee(){name="Tom",pay=8000;}
};
class technician:virtual public empolyee
{
public:
technician(int a):empolyee(){name="John";pay=a*100;}
};
class salesmanager:virtual public empolyee
{
public:
salesmanager(int a):empolyee()
{name="Antony";pay=a*0.005+5000;
}
};
class saleser:virtual public empolyee
{
public:
saleser(int a):empolyee()
{
name="Jane";pay=a*0.04;
}
};
int main()
{
int a,b,c;
cin>>a>>b>>c;
manager m1;
technician t1(a);
salesmanager s1(b);
saleser s2(c);
m1.display();
t1.display();
s1.display();
s2.display();
return 0;
}