C++程序设计案例教程 刘玉山 第7章继承新.pptVIP

C++程序设计案例教程 刘玉山 第7章继承新.ppt

  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文档。上传文档
查看更多
第7章 继承 学习目标 了解多重继承中的二义性。 理解继承的概念。 掌握单一继承和虚基类的用法。 第7章 继承 7.1 继承与派生的概念 7.2 单一继承 7.3 多重继承 7.1继承与派生的概念 继承创建类就是在一个已定义好的类的基础上,通过添加新的数据成员或成员函数,从而生成一个新的类。其中,已定义好的类成为基类(或父类);新生成的类称为派生类(或子类);基类(或父类)与派生类(或子类)之间的关系是继承关系。换句话说,派生类(或子类)拥有基类(或父类)的数据成员和成员函数。 任务1:设计一个类对学生信息进行描述,要求包括性别信息 (1)任务描述 在程序设计过程中,随着设计工作的深入及用户要求的变化,已经设计好的类不一定能够满足我们设计的需要,例如在对学生的信息进行管理时,为了给学生分配宿舍,就需要了解学生的性别,这就要求学生类里面包括性别信息。 (2)任务分析 1)首先,我们确定性别信息的表示。我们添加数据成员sex表示性别,选择char类型,其值用M表示男;F表示女。 2)我们仿照学生编号的存取操作编写性别的存取操作。 void SetSex( char sex) /* 对性别赋值的函数*/ { this- sex= sex; } char GetSex()/* 读取性别值的函数*/ { return sex; } (2)任务分析 (3)接下来,该做什么呢?大家可能都会想到把上一章Student61_1.h文件复制过来,然后把上面的sex数据成员及对其操作的两个成员函数添加进去就可以了。对于这个思路,显然能够实现任务要求,但是,我们思考一下:这样一来,大量代码不是完全重复了吗?如果这样做,我想即使你完成了任务,心里也会感到不舒服的。有没有更简洁的方法实现任务呢?有!那就是通过继承生成新的类。 (3)任务实现 见程序NewStudent71_1.h (4)要点总结 1)这是通过继承的方法生成的类NewStudent。 2)我们把学生类Student称为基类(或父类);NewStudent类称为派生类(或子类);它们之间的关系是继承关系。派生类拥有基类的数据成员和成员函数。 3)派生类的定义语法 class 派生类名 :继承方式 基类名 { 派生类新定义的成员 } ; 4)继承方式:是指派生类对基类的访问权限。包括private、protected、public三种,我们下一节讨论这个问题。 (4)要点总结 5)派生类中可能出现的四种成员: ① 不可直接访问的成员:由基类的private私有成员被继承过来后形成,如基类的成员中学生代码,名字。 ② 私有成员:派生类中新增加的private私有成员以及从基类私有继承过来的某些成员。 ③ 保护成员:派生类中新增加的potected保护成员以及从基类继承过来的某些成员。 ④ 公有成员: 包括在派生类中新增加的public公有成员以及从基类公有继承过来的基类的公有成员。 (5)涉及到知识点 1)派生类的定义: class 派生类名 :继承方式 基类名 { 派生类新定义的成员 } ; 2)继承方式:private、protected、public三种。 7.2 单一继承 单一继承是指派生类只有一个基类,派生类仅继承这一个基类的数据成员和部分成员函数。依据继承方式的不同,派生类对基类成员的访问权限是不同的。 7.2.1 单一继承下派生类对基类成员的访问权限 任务2:通过继承创建一个新的学生类,要求包括编号、姓名、性别。 (1)任务描述 此任务通过继承来创建一个描述学生信息的类,主要目的是讨论派生类对基类成员的访问权限。 (2)任务分析与设计 1)为了更好的说明问题,我们把上一章定义的学生类加以修改,添加protected保护成员。 2)在派生类里面输出学生信息。 (3)任务实现 见程序Student72_1.h 。 (4)要点总结 1)这是一个通过继承创建学生类的代码段。基类BaseStu里面设置了三个数据成员:代码、名字和性别。它们的访问权限分别是private、protected和public。 (4)要点总结 2)三种继承方式生成学生类DerivedStu 。public方式:公有继承方式,基类称为公有基类,派生类称为公有派生类;protected方式:保护继承方式,基类称为保护基类,派生类称为保护派生类;private方式,私有继承方式,基类称为私有基类,派生类称为私有派生类。不同的继承方式,它们对基类成员的访问权限是不同的。 (4)要点总结 3)基类中的保护成员具有良好的继承特性。它在公有

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档