C++ 员工类继承:销售员和经理的工资计算
#include
class Employee{ protected: string name; int beginYear; public: Employee(string value1 = 'CPP',int value2 = 2022):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,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 getDeductRate(void){return deductRate;} double getPersonAmount(void){return personAmount;} double getPrize(void){return deductRate * personAmount;} };
class Manager:public Employee{ private: double totalDeductRate,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 getTotalDeductRate(void){return totalDeductRate;} double getTotalAmount(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/osIY 著作权归作者所有。请勿转载和采集!