C实验报告继承与多态.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C实验报告继承与多态

专业课程实验报告课程名称: C++面向对象程序设计开课学期:2015至 2016学年 第 1学期专业:计算机科学与技术 年级班级:2013级学生姓名:侯瑄学号:222013321210092实验教师:陈 睿计算机与信息科学学院 软件学院实验项目名称继承与多态实验时间2015/10/11实验类型□验证性设计性 □综合性一、实验目的(1)?掌握派生类的声明方法和派生类构造函数的定义方法。?(2)?掌握不同继承方式下,基类成员在派生类中的访问属性。?(3)?掌握在继承方式下,构造函数与析构函数的执行顺序与构造规则。?(4)?学习虚基类在解决二义性问题中的作用。 (5)深入理解C++的继承与多态。二、实验要求 题目如下: 某公司有老板Boss、雇员Employee、小时工HourlyWorker和营销人员CommWorker,他们的薪金计算方法如下:老板实行年薪制,如一年15万;雇员按月计酬,方法是基本工资+奖金;小时工按工作时间计算报酬,方法是工作小时*每小时单价;营销人员按月计酬,方法是基本工资+销售利润*5%。 每类人员都有姓名、职工编号、年龄、性别、工资等数据。设计计算各类人员报酬的程序,用虚函数getPay()计算各类人员的应得报酬,用虚函数print()打印输出各位工作人员的基本数据。三、实验内容与设计(主要内容,操作步骤、算法描述或程序代码)对于此题目,我通过定义一个头文件和两个源文件来实现本题目要求满足的功能代码如下:(本试验基于vs2010运行)头文件worker.h//worker.h#ifndef WORKER_H#define WORKER_H#includestringusingnamespace std;class Person//定义person类{public: string name, id, sex, salarySystem;int age; Person() {} Person(string pname, int page, string pid, string psex, string psalarySystem = month) : name(pname), age(page), id(pid), sex(psex), salarySystem(psalarySystem){}virtualdouble getPay() { return 0.0; };virtualvoid print() {};};class Boss : public Person//从person类继承出来的boss类{public: Boss(string name, int age, string id, string sex, string salarySystem = year) : Person(name, age, id, sex, salarySystem) {}virtualdouble getPay();virtualvoid 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, age, id, sex, salarySystem), bonus(ebonus), baseSalary(ebaseSalary) {} virtualdouble getPay();virtualvoid print();};class HourlyWorker : public Person//从person类继承出来派生类HourlyWorker类{public:int workHour;double pieceOfHour; HourlyWorker(string name, int age, string id, string sex, int hworkHour, double hpieceOfHour = 13, string salarySystem = hour) : Person(name, age, id, sex, salarySystem), workHour(hworkHour), pieceOfHou

文档评论(0)

ggdxyz3 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档