题目介绍
- 企业有四类人,分别是技术人员、经理、销售、销售经理
- 编号:公司每添加一个人,编号加一
- 薪资计算方法:
- 技术人员:按小时计算,分等级,等级默认为1,每小时100;然后每提高一个等级,时薪+100,等级时薪上限分别:4和400
- 经理:固定工资:8000,默认等级1,然后每提高一个等级,工资加200,上限12000
- 销售:当月销售额的百分比,默认等级1,百分比为0.4,然后每提高一个等级,百分比加0.01,上限0.06
- 销售经理:固定工资:5000+当月销售额的百分比;默认等级1,百分比为0.4,然后每提高一个等级,百分比加0.01,上限0.06
- 整体的架构设计图:

代码
Employee
Employee.h
#pragma once
#include <iostream>
#include <string>
using namespace std;
class Employee
{
public:
Employee();
virtual ~Employee();
virtual void Init() = 0 ;
virtual void UpLevel(int level) = 0;
virtual void GetPay()=0;
void Display();
protected:
string m_name;
int m_ID;
int m_level;
double m_salary;
static int id_start;
};
Employee.cpp
#include "stdafx.h"
#include "Employee.h"
int Employee::id_start=1000;
Employee::Employee()
{
cout << "Employee()" << endl;
m_ID = id_start++;
m_salary = 0;
m_level = 1;
}
Employee::~Employee()
{
cout << "~Employee()" << endl;
}
void Employee::Display()
{
cout << "name :" << m_name << endl;
cout << " ID:" << m_ID << endl;
cout << "level :" << m_level << endl;
cout << "salary :" << m_salary << endl;
}
Tech
Tech.h
#pragma once
#include "Employee.h"
class Tech : public Employee
{
public:
Tech();
~Tech();
virtual void Init();
virtual void UpLevel(int level) ;
virtual void GetPay() ;
private:
int m_work_hours;
double m_perhoursmoney;
};
Tech.cpp
#include "stdafx.h"

该博客介绍了企业员工薪资管理的多态实现案例,包括技术人员、经理、销售及销售经理四种角色。薪资计算方法根据角色不同而变化,涉及等级和固定工资或销售额比例。文章提供了整体架构设计图,并展示了一系列的头文件和源文件(Employee, Tech, Manager, SaleMan, SalesManager)的代码结构。最后,博主强调了在多态中使用虚析构函数和虚继承的重要性,并提醒构造函数应仅用于变量初始化,业务逻辑应放在单独的方法中。"
52572636,5709268,C++实现集合合并,"['C++编程', '数据结构', '算法']
最低0.47元/天 解锁文章
1754

被折叠的 条评论
为什么被折叠?



