/*定义一个员工类Employee,有数据成员姓名,编号。
定义一个销售员继承自员工类Sales,工资为销售额的提成10%,
定义一个经理类Manager,固定工资8000,
定义一个销售经理类,继承自销售员类和经理类,工资为固定工资5000加销售额的提成5%。
每个类均有display()函数输出信息,编写主函数测试。
主函数中定义一个销售经理对象,销售额为100000,输出信息。*/
#include<iostream>
using namespace std;
//定义一个员工类Employee,有数据成员姓名,编号。
class Employee
{
public:
Employee(){}
Employee(string a, int b) :name(a), id(b) {}
string name;
int id;
void display()
{
cout << "name:" << name << endl;
cout << "id:" << id << endl;
}
};
//定义一个销售员继承自员工类Sales,工资为销售额的提成10%,
class Sales : public Employee
{
public:
Sales(){}
Sales(double a1):sell(a1){}
double sell;
double in = sell * 0.1;
void display()
{
cout << "sell:" << sell << endl;
cout << "销售员工工资:" << in << endl;
}
};
//定义一个经理类Manager,固定工资8000,
class Manager
{
public:
int in = 8000;
void display()
{
cout << "经理工资:" << in << endl;
}
};
//定义一个销售经理类,继承自销售员类和经理类,工资为固定工资5000加销售额的提成5%。
class SalesManager :public Sales,public Manager
{
public:
void display()
{
cout << "销售经理工资: " << (double) (5000 + 0.05*this->Sales::sell)<< endl;
}
};
//主函数中定义一个销售经理对象,销售额为100000,输出信息。
int main()
{
SalesManager a;
a.Employee::Employee("li", 0001);
a.Employee::display();
a.Sales::Sales(100000);
a.Sales::display();
a.Manager::display();
a.display();
}