1 / 12
文档名称:

实验三-多态性实验报告.doc

格式:doc   大小:72KB   页数:12页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

实验三-多态性实验报告.doc

上传人:ogthpsa 2020/6/11 文件大小:72 KB

下载得到文件列表

实验三-多态性实验报告.doc

文档介绍

文档介绍:浙江理工大学信息学院实验指导书实验名称:类的多态性的实现学时安排:3实验类别:设计性实验实验要求:1人1组学号:姓名: ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄一、。、友员函数重载运算符的特点。。。。二、实验原理介绍设计性实验具体原理请见实验内容和步骤实现对抽象类的继承,通过operator函数调用的形式,实现运算符的重载三、实验设备介绍软件需求:windows或linux下的c++编译器硬件需求:对于硬件方面的要求,建议配置是PentiumIII450以上的CPU处理器,64MB以上的内存,200MB的自由硬盘空间、CD-ROM驱动器、能支持24位真彩色的显示卡、彩色显示器、打印机。四、实验内容某公司的员工有经理Manager、技术人员Technicist和营销人员SalsePerson,他们的薪金计算方法如下:经理按月计酬,方法是:基本工资+奖金;技术人员按月计酬,方法是:基本工资;营销人员按月计酬,方法是:基本工资+销售利润*5%。每类人员都有职工编号、姓名、性别、入职时间、职位、基本工资等数据;各类人员使用统一接口get_pay()计算各类人员的月薪,重载<<运算符实现员工信息的输出。其次,设计一个统计并输出该公司员工当月薪金情况的报表类Report,该类提供insert接口向Report类的容器中添加员工信息,并提供print接口用于展示以职位为单位的每个员工的职工编号、姓名、性别、入职时间以及当月该员工的薪酬,并统计出该职位员工薪酬的最高值和最低值。为了提供更方便的查找功能,请为Report类重载[]运算符,下标值为职位,能根据职位信息查找出所有符合该职位的员工。在主函数中对实现的类进行测试,首先,创建各类人员对象,通过Report类的insert接口向报表中添加这些人员信息,然后通过Report类的print接口输出当月员工薪酬情况报表。存储员工对象的容器请选用合适的STL容器。五程序清单//#include""#include<map>intmain(){cout<<"请输入指定月份"<<endl;intmonth;cin>>month;Reportre; (newTechnicist("0001","王华","男",CDate(2,4,2011),"技术",9000)); (newTechnicist("0002","李明","女",CDate(4,10,2009),"技术",10000)); map<int,int>bonus; bonus[1]=1000; bonus[2]=2000; bonus[3]=3000; (newManager("0003","朱黎明","男",CDate(11,8,2001),"经理",12000,bonus)); bonus[1]=500; bonus[2]=1500; bonus[3]=2000; (newManager("0004","刘改云","男",CDate(8,7,2003),"经理",10000,bonus)); map<int,int>sales; sales[1]=; sales[2]=; sales[3]=; (newSalesPerson("0005","李志武","男",CDate(10,11,2007),"销售",5000,sales));(month);return0;}//#ifndefCLASS_H_INCLUDED#defineCLASS_H_INCLUDED#include<>#include<iostream>#include<string>#include<list>#include<vector>#include<map>#include""usingnamespacestd;classEmployee{protected:stringname;stringID;stringsex;stringjob;CDatedate;doublebasicmoney;public:Employee(stringID,stringname,stringsex,CDatedate,stringjob,doublebasicmoney);stringgetjob(){returnjob;}stringgetname(){returnname;}stringgetID(){returnID;}stringgets