多态性实验报告.doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
浙江理工大学信息学院 面向对象程序设计实验报告 实验名称:类的多态性的实现 学时安排:3 实验类别:设计性实验 实验要求:1人1组 学号: 姓名:  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 一、实验目的 1. 理解重载运算符的意义。 2. 掌握使用成员函数、友员函数重载运算符的特点。 3. 掌握重载运算符函数的调用方法。 4. 掌握动态联编的概念。 5. 掌握虚函数和纯虚函数的使用方法。 二、实验原理介绍 设计性实验 具体原理请见实验内容和步骤 实现对抽象类的继承,通过operator函数调用的形式,实现运算符的重载 三、实验设备介绍 软件需求: Windows或Linux下的C++编译器 硬件需求: 对于硬件方面的要求,建议配置是Pentium III 450以上的CPU处理器,64MB以上的内存,200MB的自由硬盘空间、CD- ROM驱动器、能支持24位真彩色的显示卡、彩色显示器、打印机。 四、实验内容 某公司的员工有经理Manager、技术人员Technicist和营销人员SalesPerson,他们的 薪金计算方法如下: 经理按月计酬,方法是:基本工资+奖金;技术人员按月计酬,方法是:基本工资;营销 人员按月计酬,方法是:基本工资+销售利润*5%。 每类人员都有职工编号、姓名、性别、入职时间、职位、基本工资等数据;各类人员使 用统一接口get_pay()计算各类人员的月薪,重载<<运算符实现员工信息的输出。其次, 设计一个统计并输出该公司员工当月薪金情况的报表类Report,该类提供insert接口向 Report类的容器中添加员工信息,并提供print接口用于展示以职位为单位的每个员工的 职工编号、姓名、性别、入职时间以及当月该员工的薪酬,并统计出该职位员工薪酬的 最高值和最低值。为了提供更方便的查找功能,请为Report类重载[]运算符,下标值为 职位,能根据职位信息查找出所有符合该职位的员工。在主函数中对实现的类进行测试 ,首先,创建各类人员对象,通过Report类的insert接口向报表中添加这些人员信息, 然后通过Report类的print接口输出当月员工薪酬情况报表。 五 程序清单 #include<iostream> #include<vector> #include<string> using namespace std; class Date{ public: int y, m, d; Date(int yy = 0, int mm = 0, int dd = 0) :y(yy), m(mm), d(dd){} friend istream& operator>>(istream &is, Date &p); friend ostream& operator<<(ostream &os, Date &p); }; class Employee{ protected: Date date; string employee_number; string employee_name; string employee_gender; string employee_position; double employee_basic_money; double prize[13]; public: virtual double getpay(int n) = 0; Date get_date(){ return date; } string get_number(){ return employee_number; } string get_name() { return employee_name; } string get_gender() { return employee_gender; } string get_position() { return employee_position; } double get_basic_money() { return employee_basic_money; } virtual void put(Date d, string e_num, string e_name, string e_g, string e_p, double e_m,double money[13]) = 0; }; class Manager :public Employee{ public: Manager(int a = 0, int b = 0, int c = 0, double d = -1){ Date date(a, b, c); employee_basic_money = d; for (int i = 0; i < 13; i++) pri
- 粉丝: 167
- 资源: 3万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
- 1
- 2
- 3
前往页