C++ 员工类继承:销售员和经理的工资计算
#include
class Employee{ protected: 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 workYears=currentYear-beginYear+1; return 60000+workYears*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/okkC 著作权归作者所有。请勿转载和采集!