C++ 员工类、销售员类和经理类继承关系实现及工资计算
#include
class Employee{ private: string name; //姓名 int beginYear; //参加工作年份 public: Employee(string value1, int value2):name(value1),beginYear(value2){} int getBeginYear(void){return beginYear;} string getName(void){return name;} double getBasicWage(int currentYear){ int workAge = currentYear - beginYear + 1; return 60000 + workAge * 1000; } virtual double getPrize(void) = 0; };
class Saleman:public Employee{ private: double deductRate; //提成比例 double personAmount; //个人销售额 public: Saleman(string value1='CPP', int value2=2022, double value3=0.1, double value4=0.0) :Employee(value1,value2),deductRate(value3),personAmount(value4){} double DeductRate(void){return deductRate;} double PersonAmount(void){return personAmount;} double getPrize(void){ return deductRate * personAmount; } };
class Manager:public Employee{ private: double totalDeductRate; //经理提成比例 double totalAmount; //总销售额 public: Manager(string value1='CPP', int value2=2022, double value5=0.02, double value6=0.0) :Employee(value1,value2),totalDeductRate(value5),totalAmount(value6){} double TotalDeductRate(void){return totalDeductRate;} double TotalAmount(void){return totalAmount;} double getPrize(void){ return totalDeductRate * totalAmount; } };
int main(void){
string value1 ;
int value2 ;
double value3 , value4 ;
cin>>value1>>value2>>value3>>value4;
Saleman s( value1 , value2 , value3 , value4 ); //Saleman对象
cin>>value1>>value2>>value3>>value4;
Manager m( value1 , value2 , value3 , value4 ); //Manager对象
Employee *e=&s;
cout<
原文地址: https://www.cveoy.top/t/topic/okkD 著作权归作者所有。请勿转载和采集!