C++(小型公司的人员信息管理系统类图)100多条语句
某小型公司,主要有四类人员:经理,兼职技术人员、销售经理和兼职推销员。现在需要存储这些人员的姓名、编号、级别、当月薪水,计算月薪总额并显示全部信息。人员编号基数为1000...
某小型公司,主要有四类人员:经理,兼职技术人员、销售经理和兼职推销员。现在需要存储这些人员的姓名、编号、级别、当月薪水,计算月薪总额并显示全部信息。人员编号基数为1000,每输入一个人员信息编号顺序加1。程序要有对所有人员提升级别的功能。本例所有人员的初始级别均为1级,然后进行升级,经理为4级,兼职技术人员和销售经理升为3级,推销员仍为1级。
月薪计算办法是:经理拿固定月薪8000元;兼职技术人员按每小时100元领取月薪;兼职推销员的月薪按该推销员当月销售额的4%提成;销售经理既拿固定月薪也领取销售提成,固定月薪为5000元,销售提成为所管辖部门当月销售总额的5%。
根据上述需求,设计一个基类employee,然后派生technician(兼职技术人员)类,manager(经理)类和salesman(兼职推销员)类。由于销售经理既是经理又是销售人员,兼具两类人员的特点,因此同时继承manager和salesman两个类。
在基类中,除了定义构造函数和析构函数以外,还应统一定义对各类人员信息应有的操作,这样可以规范类族中各派生类的基本行为。但是各类人员的月薪计算方法不同,不能在基类enployee中统一确定计算方法。各类人员信息的显示内容也不同,同样不能在基类employee中统一确定显示方法。因此,在本例中可以使基类中实现上述行为的函数体为空,然后在派生 类中在根据同名覆盖原则定义各自的同名函数实现具体功能。
Employee类
char *name;
int individualEmpNo;
int grade;
float accumPay;
static int employeeNo;
employee();
~employee();
void pay();
void promote(int);
void displayStatus();
technician类
float hourlyRate;
int workHours;
technician();
void pay();
void displayStatus
manager类
float monthlyPay;
manager();
void pay();
void displayStatus();
salesman 类
float CommRate;
float sales;
salesman();
void pay();
void displayStatus();
salesmanager 类
salesmanager();
void pay();
void displayStatus();
(骚扰者请不要发言,会编的真是麻烦你了) 展开
月薪计算办法是:经理拿固定月薪8000元;兼职技术人员按每小时100元领取月薪;兼职推销员的月薪按该推销员当月销售额的4%提成;销售经理既拿固定月薪也领取销售提成,固定月薪为5000元,销售提成为所管辖部门当月销售总额的5%。
根据上述需求,设计一个基类employee,然后派生technician(兼职技术人员)类,manager(经理)类和salesman(兼职推销员)类。由于销售经理既是经理又是销售人员,兼具两类人员的特点,因此同时继承manager和salesman两个类。
在基类中,除了定义构造函数和析构函数以外,还应统一定义对各类人员信息应有的操作,这样可以规范类族中各派生类的基本行为。但是各类人员的月薪计算方法不同,不能在基类enployee中统一确定计算方法。各类人员信息的显示内容也不同,同样不能在基类employee中统一确定显示方法。因此,在本例中可以使基类中实现上述行为的函数体为空,然后在派生 类中在根据同名覆盖原则定义各自的同名函数实现具体功能。
Employee类
char *name;
int individualEmpNo;
int grade;
float accumPay;
static int employeeNo;
employee();
~employee();
void pay();
void promote(int);
void displayStatus();
technician类
float hourlyRate;
int workHours;
technician();
void pay();
void displayStatus
manager类
float monthlyPay;
manager();
void pay();
void displayStatus();
salesman 类
float CommRate;
float sales;
salesman();
void pay();
void displayStatus();
salesmanager 类
salesmanager();
void pay();
void displayStatus();
(骚扰者请不要发言,会编的真是麻烦你了) 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |