企业员工薪资管理-多态案例

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

题目介绍

  • 企业有四类人,分别是技术人员、经理、销售、销售经理
  • 编号:公司每添加一个人,编号加一
  • 薪资计算方法:
  1. 技术人员:按小时计算,分等级,等级默认为1,每小时100;然后每提高一个等级,时薪+100,等级时薪上限分别:4和400
  2. 经理:固定工资:8000,默认等级1,然后每提高一个等级,工资加200,上限12000
  3. 销售:当月销售额的百分比,默认等级1,百分比为0.4,然后每提高一个等级,百分比加0.01,上限0.06
  4. 销售经理:固定工资: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"
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值