浙江理工大学信息学院
实验指导书
实验名称:
类的多态性的实现 学时安排: 3
实验类别:
设计性实验 实验要求: 1 人 1 组
学号:
姓名:
一、实验目的
理解重载运算符的意义。
掌握使用成员函数、友员函数重载运算符的特点。
掌握重载运算符函数的调用方法。
掌握动态联编的概念。
掌握虚函数和纯虚函数的使用方法。
二、实验原理介绍
设计性实验
具体原理请见实验内容和步骤 实现对抽象类的继承,通过 operator 函数调用的形式 , 实现运算符的重载
三、实验设备介绍
软件需求:windows或linux 下的C++编译器
硬件需求 : 对于硬件方面的要求,建议配置是 Pentium III 450 以上的 CPU 处理器,64MB以上的内存,200MB的自由硬盘空间、CD-RO驱动器、能支持24 位真彩色的显示卡、彩色显示器、打印机。
四、实验内容
某公司的员工有经理Manager、技术人员Technicist和营销人员SalsePerson 他们的薪金计算方法如下:
经理按月计酬,方法是:基本工资 +奖金;技术人员按月计酬,方法是:基本 工资;营销人员按月计酬,方法是:基本工资 +销售利润 *5%。
每类人员都有职工编号、姓名、性别、入职时间、职位、基本工资等数据;
各类人员使用统一接口 get_pay()计算各类人员的月薪,重载 <<运算符实现员工
信息的输出。其次,设计一个统计并输出该公司员工当月薪金情况的报表类
Report,该类提供insert接口向Report类的容器中添加员工信息,并提供 print 接口用于展示以职位为单位的每个员工的职工编号、 姓名、性别、入职时间以及 当月该员工的薪酬, 并统计出该职位员工薪酬的最高值和最低值。 为了提供更方 便的查找功能,请为Report类重载[]运算符,下标值为职位,能根据职位信息查 找出所有符合该职位的员工。 在主函数中对实现的类进行测试, 首先,创建各类 人员对象,通过 Report 类的 insert 接口向报表中添加这些人员信息,然后通过 Report类的print接口输出当月员工薪酬情况报表。存储员工对象的容器请选用 合适的 STL 容器。
五 程序清单
//
#include ""
#include<map>
int main()
{
cout<<" 请输入指定月份 "<<endl;
int month;
cin>>month;
Report re;
(new Technicist("0001"," 王华","男",CDate(2,4,2011)," 技术
",9000));
(new Technicist("0002","李明","女",CDate(4,10,2009),"技术
",10000));
map<int,int> bonus;
bonus[1] = 1000;
bonus[2] = 2000;
bonus[3] = 3000;
(new Manager("0003","
朱黎明 "," 男 ",CDate(11,8,2001),"
经理
",12000,bonus));
bonus[1] = 500;
bonus[2] = 1500;
bonus[3] = 2000;
(new Manager("0004"," 刘改云 "," 男 ",CDate(8,7,2003)," 经理
",10000,bonus));
map<int,int> sales;
sales[1] = 200000;
sales[2] = 100000;
sales[3] = 500000;
(new SalesPerson("0005"," 李志武","男",CDate(10,11,2007),"
销售",5000,sales));
(month);
return 0;
}
//
#ifndef CLASS_H_INCLUDED
#define CLASS_H_INCLUDED #include<> #include<iostream> #include<string> #include<list> #include<vector> #include<map> #include"" using namespace std; class Employee
{
protected:
string name;
string ID;
string
实验三多态性实验报告 来自淘豆网m.daumloan.com转载请标明出处.