class SalariedEmployee :public Employee { private: float salary; //固定周薪 public: SalariedEmployee(string _id, string _name) :Employee(_id, _name) { } SalariedEmployee(string _id, string _name, float _salary) :Employee(_id, _name) { salary = _salary; } void setSalary(float s) { salary = s; } float getSalary() { return salary; } float caculateSalary()//实现纯虚函数,计算工资 { return salary; //周薪员工为固定薪资 } void show() //实现纯虚函数,显示雇员信息 { cout << "工号:" << id << ",姓名:" << name << ",员工类型:周薪雇员,薪资:" << fixed << setprecision(2) << caculateSalary() << ",生日福利:"; if (birthday.getMonth() == CURRENTMONTH) cout << "100,总计:" << fixed << setprecision(2) << (caculateSalary()+100) << endl; else cout << "0,总计:" << fixed << setprecision(2) << (caculateSalary() + 0) << endl; } };
时间: 2023-06-19 20:05:50 浏览: 127
third_java_实验3_
这段代码是一个派生类 SalariedEmployee,继承于基类 Employee。SalariedEmployee 是一种固定周薪的员工。它有一个私有变量 salary 表示固定周薪,有两个构造函数,一个是只有工号和姓名的构造函数,一个是有工号、姓名和周薪的构造函数。它实现了基类中的纯虚函数 calculateSalary() 和 show()。
calculateSalary() 函数返回固定的周薪 salary。
show() 函数用于显示 SalariedEmployee 的信息,包括工号、姓名、员工类型、薪资、生日福利和总计工资。如果员工的生日月份与当前月份相同,则生日福利为 100 元,否则为 0 元。总计工资是周薪加上生日福利。
阅读全文