定义Employee员工类并由Employee类分别派生出Saleman销售员类、Manager经理类完成如下测试。裁判测试程序样例:在mainvoid函数中定义Saleman类对象和Manager类对象各1个Saleman类对象和Manager类对象用输入的内容进行初始化然后定义Employee类指针并通过Employee类指针打印出Saleman类对象和Manager类对象2022年的实发工资
#include
class Employee{ protected: string name; int year; double basicWage;//基本工资 public: Employee(string n,int y,double b):name(n),year(y),basicWage(b){} virtual double getPrize(int y)=0;//纯虚函数 double getBasicWage(int y){ return basicWage*pow(1.1,y-year); } string getName(){ return name; } };
class Saleman:public Employee{ double rate;//提成比例 double sales;//销售额 public: Saleman(string n,int y,double b,double r):Employee(n,y,b),rate(r){ cin>>sales; } double getPrize(int y){ return sales*rate; } };
class Manager:public Employee{ double rate;//提成比例 double sales;//总销售额 public: Manager(string n,int y,double b,double r):Employee(n,y,b),rate(r){ cin>>sales; } double getPrize(int y){ return sales*rate; } };
int main(){
string name;
int year;
double basicWage,rate,sales;
cin>>name>>year>>rate>>sales;
basicWage=2000;//Saleman的基本工资为2000
Saleman s(name,year,basicWage,rate);
cin>>name>>year>>rate>>sales;
basicWage=5000;//Manager的基本工资为5000
Manager m(name,year,basicWage,rate);
Employee *e=&s;
cout<
原文地址: https://www.cveoy.top/t/topic/fEjQ 著作权归作者所有。请勿转载和采集!