以下是程序题目:
一、问题描述:某公司按周给其雇员发放工资。该公司有4种雇员:不管每周工作有多长时间,
固定薪金的雇员总是拿固定周薪(SalariedEmployee)
小时工的收入以小时计算,加上加班费(HourlyEmployee)
销售员的收入是按销售收入提成计算(CommissionEmployee)
带薪销售员的工资是底薪加上销售收入提成。(BasePlusCommissionEmployee)
现在公司想编写一个C++应用程序来完成各种工资的计算
要求:1、类层次结构图如下:其中可以将Employee定义为抽象类
2、使用一个vector向量的对象来存放公司职员信息,并计算出各职员的工资数,将结果打印,打印形式为:
SalariedEmployee
工作证号 姓名 工作周数 周薪 实发工资
HourlyEmployee
工作证号 姓名 工作时间(小时) 每小时收入 加班费 实发工资
CommissionEmployee
工作证号 姓名 销售额 销售提成 实发工资
BasePlusCommissionEmployee
工作证号 姓名 销售额 销售提成 底薪 实发工资
注意:也可以不使用vector向量,自己定义一个数据结构来存放职员信息
3、vector向量使用说明:
(1)Vector是STL模板库提供的向量类模板,可以用于管理各种类型的数组
(2)相关头文件
#include <vector>
using namespace std;
(3)相关使用
例:使用vector存储一组整型数据: 1 2 3 4 5
vector <int> intarray; //定义 intarray对象并将vector实例化为int型
for (int i=0;i<5;i++) intarray.push_back(i+1); //将数据存储到intarray中
for (i=0;i<intarray.size();i++) cout<<intarray[i]<<endl;//将数据输出