C++实验报告 继承与多态

上传人:ji****72 文档编号:37511104 上传时间:2018-04-17 格式:DOCX 页数:7 大小:254.49KB
返回 下载 相关 举报
C++实验报告 继承与多态_第1页
第1页 / 共7页
C++实验报告 继承与多态_第2页
第2页 / 共7页
C++实验报告 继承与多态_第3页
第3页 / 共7页
C++实验报告 继承与多态_第4页
第4页 / 共7页
C++实验报告 继承与多态_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《C++实验报告 继承与多态》由会员分享,可在线阅读,更多相关《C++实验报告 继承与多态(7页珍藏版)》请在金锄头文库上搜索。

1、专业课程实验报告课程名称: C+面向对象程序设计开课学期: 2015 至 2016 学年 第 1 学期专业:计算机科学与技术 年级班级: 2013 级学生姓名: 侯瑄 学号:222013321210092实验教师: 陈 睿计算机与信息科学学院 软件学院实验项目名称继承与多态实验时间2015/10/11实验类型验证性设计性 综合性一、实验目的(1) 掌握派生类的声明方法和派生类构造函数的定义方法。(2) 掌握不同继承方式下,基类成员在派生类中的访问属性。 (3) 掌握在继承方式下,构造函数与析构函数的执行顺序与构造规则。(4) 学习虚基类在解决二义性问题中的作用。(5) 深入理解 C+的继承与多

2、态。二、实验要求题目如下:某公司有老板 Boss、雇员 Employee、小时工 HourlyWorker 和营销人员 CommWorker,他们的薪金计算方法如下:老板实行年薪制,如一年 15 万;雇员按月计酬,方法是基本工资+奖金;小时工按 工作时间计算报酬,方法是工作小时*每小时单价;营销人员按月计酬,方法是基本工资+ 销售利润*5%。每类人员都有姓名、职工编号、年龄、性别、工资等数据。设计计算各类人员报酬 的程序,用虚函数 getPay()计算各类人员的应得报酬,用虚函数 print()打印输出各位工 作人员的基本数据。三、实验内容与设计(主要内容,操作步骤、算法描述或程序代码) 对于

3、此题目,我通过定义一个头文件和两个源文件来实现本题目要求满足的功能 代码如下:(本试验基于 vs2010 运行) (1) 头文件 worker.h/worker.h#ifndef WORKER_H#define WORKER_H#include using namespace std;class Person/定义person类public:string name, id, sex, salarySystem;int age;Person() Person(string pname, int page, string pid, string psex, string psalarySystem

4、 = “month“): name(pname), age(page), id(pid), sex(psex), salarySystem(psalarySystem)virtual double getPay() return 0.0; ;virtual void print() ;class Boss : public Person/从person类继承出来的boss类public:Boss(string name, int age, string id, string sex, string salarySystem = “year“): Person(name, age, id, se

5、x, salarySystem) virtual double getPay();virtual void print();class Employee : public Person/从person类继承出来派生类员工类public:double bonus, baseSalary;Employee() Employee(string name, int age, string id, string sex, double ebonus=3000, double ebaseSalary = 4500, string salarySystem = “month“) : Person(name,

6、 age, id, sex, salarySystem), bonus(ebonus), baseSalary(ebaseSalary) virtual double getPay();virtual void print();class HourlyWorker : public Person/从person类继承出来派生类HourlyWorker类public:int workHour;double pieceOfHour;HourlyWorker(string name, int age, string id, string sex, int hworkHour, double hpie

7、ceOfHour = 13, string salarySystem = “hour“): Person(name, age, id, sex, salarySystem), workHour(hworkHour), pieceOfHour(hpieceOfHour) virtual double getPay();virtual void print();class CommWorker : public Person/从person类继承出来派生类CommWorker类public:double baseSalary, salesProfit;CommWorker(string name,

8、 int age, string id, string sex, double csalesProfit, double cbaseSalary = 4500, string salarySystem = “month“): Person(name, age, id, sex, salarySystem) , baseSalary(cbaseSalary), salesProfit(csalesProfit) virtual double getPay();virtual void print();#endif(2) 源文件 worker.cpp/worker.cpp#include “Std

9、Afx.h“#include “worker.h“#include using namespace std;/定义虚函数double Boss:getPay() return 150000;void Boss:print() cout #include #include “worker.h“using namespace std;/用于输出的main函数int main()cout (istream &,自定 义类 &); ostream &operator (ostream &,自定义类 &); 6)用一个指针调用派生类的函数时,将指针定义为指向基类的指针,基类的函数要定义为 虚函数,将各个派生类的地址赋值给指针,通过指针调用函数,实现多态性。实验内容和设计(A-E):操作过程、算法或代码(A-E):实验结果(A-E):实验分析和总结(A-E):教师评阅实验成绩(A-E): 反馈评语:

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号