C++ 员工类继承:销售员和经理类的设计与实现
#include
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<
原文地址: https://www.cveoy.top/t/topic/osJw 著作权归作者所有。请勿转载和采集!