当前位置:首页 > C++程序设计-实验5 多态
实验5 多态
一、实验目的
1.了解多态的概念。
2.了解虚函数的作用及使用方法。
3. 了解静态联编和动态联编的概念和方法。 4.掌握纯虚函数和抽象类的概念和方法。
二、实验准备
1.复习多态的概念。
2.理解虚函数在多态性的作用以及纯虚函数和抽象类的用法。
三、实验内容
1、某公司雇员(employee)包括经理(manager),技术人员(technician)销售员(saler)。 要求:以employ类为基类派生出manager,technician和saler。
employee类的属性包括姓名、职工号、工资级别,月薪(实发基本工资加业绩工资)。操作包括月薪计算函数(pay()),该函数要求输入请假天数,扣去应扣工资后,得出实发基本工资。
technician类派生的属性有每小时附加酬金和当月工作时数,称业绩工资。也包括同名的pay()函数,工资总额为基本工资加业绩工资。
saler类派生的属性有销售总额,总额的10%作为业绩工资。工资总额为基本工资加业绩工资。
manager类派生的属性有固定奖金,固定奖金作为业绩工资。工资总额为基本工资加业绩工资。
编程实现工资管理。特别注意pay()的定义和调用方法:先用同名覆盖,再用运行时多 态。
提示:给出基类的定义如下,请完成派生类的定义,并运用主函数测试运行时的多态。
#include
using namespace std;
static int Grades[]={500,600,750,1000,1400,2000,2800,4000}; class employee{ protected:
string name;//姓名 int ID;//职工号 int grade;//工资级别 double salary;//月
double base_salary;//基本月薪 double career_salary;//业绩工资
public: };
2、在题1的基础上增加公司类(Company)公司包括若干名经理(manager),技术人员
(technician)销售员(saler),数量由用户输入,公司还包括名称、地址、电话等常见属性,要求计算公司每月发出的工资总额。
employee(string=\virtual void pay();//月薪计算函数 void show();
double getsalary(){return salary;}
double getbase_salary(){return base_salary;} double getcareer_salary(){return career_salary;}
共分享92篇相关文档