前言:
介绍员工信息:一个小型公司的人员信息管理系统
某小型公司,主要有四类人员:经理、技术人员、销售经理和推销员。现在,需要存储这些人员的姓名、编号、级别、当前薪水。计算月薪总额并显示全部信息人员编号基数为1000 每输入一个人员信息编号顺序加1,程序员要有对所有人员提升别的功能。本例中为简单起见,所有人员的初始级别均为1级。然后进行升级,经理升为4级,技术人员和销售经理升为3级,推销员仍为1级
月薪计算方法是:经理拿固定月薪8000元;技术人员按每小时100元领取月薪;推销员的月薪按该推销员当前售额的4%提成;销售经理既拿固定月薪也领取销售提成,固定月薪为5000,销售提成为所管辖部门当前销售总额的5%
一、分析题意
1.进行画图分析人员关系
注意:技术人员、经理、销售人员的基类都是Employee,SalesManager继承两个类:Manager和SalesMan,这里Employee、Manager、SalesMan、SalesManager构成菱形,形成了虚继承,所以在Manager、SalesMan继承Employee的时候应加上virtual
2.类的设计
二、创建基类--Employee
1.头文件--Employee.h
#pragma once
#include<iostream>
#include<string>
using namespace std;
class Employee
{
public:
Employee();
virtual ~Employee();
//提供一个显示的初始化员工的函数
virtual void init()=0;
//提供员工薪资的计算方法
virtual void getPay() = 0;
//显示员工信息方法
void displayStatus();
//升级的方法
virtual void upLevel(int level) = 0;
protected:
string name;//姓名
int id;//编号
double salary;//薪资
int level;//级别
//员工的编号基础值
static int starNum;
};
static int starNum;