先建立一个职工类Employee,包含数据成员name(姓名),ID(编号),salary(月薪)以及纯虚函数计算职工的工资、输出职工的信息。以Employee为基类,派生出经理类Manager、技术人员类Technician和销售员类,在经理类中增加数据成员monthpay(固定工资),在技术人员类中增加数据成员hours(工作时长) 和perhour(每小时酬金),在销售员类salesman中增加数据成员amount (销售额)和slfactor(提成比例)。
在定义类时,所有类中必须包含构造函数、析构函数、修改和获取所有数据成员的函数,以及虚函数计算职工的工资、输出职工的信息。
#include#include using namespace std; class employee{//父类 public: employee(){ cout<<"职工编号:"; cin>>ID;//没有用参数实现初始化,直接用cin从键盘读取员工信息 cout<<"职工姓名:"; cin>>name; cout<<" "< >hours; salary=perhour*hours; } void show(){ cout<<"技术人员"< >amount; salary=amount*slfactor; } void show (){ cout<<"销售员"< pay(); p->show(); p=&tec1; p->pay(); p->show(); p=&sal; p->pay(); p->show();//pay计算工资,show显示工资 return 0; }
运行结果:



