定义
背景
公司发放月工资,普通员工有基本工资,销售奖金,累计奖金;销售经理还有团队奖金;以后还会有环比奖金,计算奖金总额。
代码
#include <string>
#include <iostream>
using namespace std;
//duty抽象基类
class Duty
{
public:
virtual int showSalary() = 0;
virtual ~Duty() {
};
};
//baseDuty 基础实现类(基础工资)
class BaseSalary :public Duty
{
public:
BaseSalary(int salary = 5000)
:m_salary(salary) {
}
~BaseSalary() {
}
virtual int showSalary()
{
cout << "BaseSalary: " << m_salary << endl;
return m_salary;
}
private:
int m_salary;
};
//抽象装饰类
class DecorateSalary :public Duty
{
public:
DecorateSalary(Duty* body = nullptr)
{
m_body = body;
}
~