第5章 派生类和继承.ppt

  1. 1、本文档共76页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 派生类与继承 5.1 继承与派生类 5.1.1 为什么要使用继承 声明一个派生类的一般格式为: class 派生类名:继承方式 基类名 { //派生类新增的数据成员和成员函数 }; 由类person继承出类employee可以采用下面的三种格式之一: (1) 公有继承 class employee:public person{ //… }; (2) 私有继承 class employee:private person{ //… }; (3) 保护继承 class employee:protected person{ //… }; 从已有类派生出新类时,可以在派生类内完成以下几种功能: (1) 可以增加新的数据成员; (2) 可以增加新的成员函数; (3) 可以重新定义基类中已有的成员函数; (4) 可以改变现有成员的属性。 5.1.4 派生类对基类成员的访问规则 派生类对基类成员的访问形式主要有以下两种: (1) 内部访问: 由派生类中新增成员对基类继承来的成员的访问。 (2) 对象访问: 在派生类外部,通过派生类的对象对从基类继承来的成员的访问。 1. 私有继承的访问规则 当类的继承方式为私有继承时,基类的public成员和protected成员被继承后作为派生类的private成员, 派生类的其他成员可以直接访问它们,但是在类外部通过派生类的对象无法访问。 基类的private成员在私有派生类中是不可直接访问的, 所以无论是派生类成员还是通过派生类的对象, 都无法直接访问从基类继承来的private成员, 但是可以通过基类提供的public成员函数间接访问。 2. 公有继承的访问规则 当类的继承方式为公有继承时, 基类的public成员和protected成员被继承到派生类中仍作为派生类的public成员和protected成员, 派生类的其他成员可以直接访问它们。但是, 类的外部使用者只能通过派生类的对象访问继承来的public成员。 基类的private成员在公有派生类中是不可直接访问的, 所以无论是派生类成员还是通过派生类的对象, 都无法直接访问从基类继承来的private成员, 但是可以通过基类提供的public成员函数间接访问它们。 3. 保护继承的访问规则 当类的继承方式为保护继承时, 基类的public成员和protected成员被继承到派生类中都作为派生类的protected成员, 派生类的其他成员可以直接访问它们, 但是类的外部使用者不能通过派生类的对象来访问它们。 基类的private成员在保护派生类中是不 可直接访问的, 所以无论是派生类成员还是通过派生类的对象, 都无法直接访问基类的private成员。 5.2 派生类的构造函数和析构函数 5.2.1 派生类构造函数和析构函数的执行顺序 通常情况下,当创建派生类对象时,首先执行基类的构造函数,随后再执行派生类的构造函数; 当撤消派生类对象时,则先执行派生类的析构函数,随后再执行基类的析构函数。 5.2.2 派生类构造函数和析构函数的构造规则 在C++中,派生类构造函数的一般格式为: 派生类名(参数总表):基类名(参数表) { // 派生类新增成员的初始化语句 } 当派生类中含有内嵌对象成员时,

文档评论(0)

xiaofei2001129 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档