#define _CRT_SECURE_NO_WARNINGS //需要忽略scanf返回值的警告时使用 #include #include using namespace std; 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 getDeductRate(void) { return deductRate; } double getPersonAmount(void) { return personAmount; } virtual 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; } virtual double getPrize(void) { return totalDeductRate * totalAmount; } }; int main(void) { string value1; int value2; double value3, value4; scanf("%s%d%lf%lf", &value1[0], &value2, &value3, &value4); Saleman s(value1, value2, value3, value4); scanf("%s%d%lf%lf", &value1[0], &value2, &value3, &value4); Manager m(value1, value2, value3, value4); Employee* e = &s; cout << e->getName() << "2022年的实发工资为" << e->getPrize() + e->getBasicWage(2022) << endl; e = &m; cout << e->getName() << "2022年的实发工资为" << e->getPrize() + e->getBasicWage(2022) << endl; return 0;

定义Employee员工类并由Employee类分别派生出Saleman销售员类、Manager经理类完成如下测试。Employee类结构说明:Employee类的数据成员包括:①私有数据成员:姓名namestring。②私有数据成员:参加工作年份beginYearint。Employee类的成员函数包括:①构造函数Employeestring value1 int value2其功能是将姓名na

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

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