经理与员工工资案例
时间: 2023-12-16 15:03:39 浏览: 71
这个案例可以使用面向对象的思想来实现,可以定义一个 `Employee` 员工类和一个 `Manager` 经理类,其中 `Employee` 类中包含了员工的基本信息和工资计算方法,`Manager` 类则继承了 `Employee` 类,并添加了管理津贴的计算方法。
以下是一个简单的示例代码:
```c++
#include <iostream>
#include <string>
using namespace std;
class Employee {
protected:
string name; // 员工姓名
int salary; // 员工薪水
public:
Employee(const string& name, int salary) : name(name), salary(salary) {}
virtual int getSalary() const { return salary; } // 计算员工薪水
virtual void printInfo() const { // 输出员工信息
cout << "Name: " << name << endl;
cout << "Salary: " << salary << endl;
}
};
class Manager : public Employee {
private:
int bonus; // 管理津贴
public:
Manager(const string& name, int salary, int bonus) : Employee(name, salary), bonus(bonus) {}
int getSalary() const override { return salary + bonus; } // 计算经理薪水
void printInfo() const override { // 输出经理信息
cout << "Name: " << name << endl;
cout << "Salary: " << getSalary() << endl;
cout << "Bonus: " << bonus << endl;
}
};
int main() {
Employee employee("Alice", 5000);
Manager manager("Bob", 8000, 2000);
employee.printInfo();
manager.printInfo();
return 0;
}
```
在上面的代码中,`Employee` 和 `Manager` 类分别代表了员工和经理,其中 `Employee` 类中包含了员工的基本信息和工资计算方法,`Manager` 类则继承了 `Employee` 类,并添加了管理津贴的计算方法。在 `main` 函数中,我们创建了一个 `Employee` 类型的对象 `employee` 和一个 `Manager` 类型的对象 `manager`,并分别调用它们的 `printInfo` 方法,输出它们的信息和薪水。
注意,在上面的代码中,`Employee` 类中的 `getSalary` 方法和 `Manager` 类中的 `getSalary` 方法都被声明为 `virtual`,这是为了实现多态。这样,当我们通过基类指针或引用调用这些方法时,会根据对象的实际类型来调用对应的方法。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)