#include #include using namespace std ;

class Employee{ private: 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){ return 60000+(currentYear-beginYear+1)*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 getDeductRate(void){ return deductRate; } double getPersonAmount(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 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<getName( )<<' '<<"2022年的实发工资为"<getPrize( )+e->getBasicWage(2022) <<endl; //输出Saleman对象的实发工资 e=&m; cout<getName( )<<' '<<"2022年的实发工资为"<getPrize( )+e->getBasicWage(2022) <<endl; //输出Manager对象的实发工资 return 0;

C++ 员工类继承:销售员和经理的薪资计算

原文地址: https://www.cveoy.top/t/topic/osIV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录