网站大量收购闲置独家精品文档,联系QQ:2885784924

C++面向对象程序继承.ppt

  1. 1、本文档共78页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C面向对象程序继承

C++面向对象程序设计教程 第5章 继承 5.1.1 继承与派生的概念 类的继承指新类从已有类那里得到已有的特性。 从已有类产生新类的过程就是类的派生。 类的继承使程序员在已有类的基础上,通过增加少量代码或修改少量代码的方法得到新的类,新类包含了已有类的特征,同时也可以加入新特性。已有类称为基类或父类,新类称为派生类或子类。 派生类也可以作为基类派生出新的类,这样就形成了类的层次结构。 实例说明为什么要使用继承 现有一个类Person(人),包含有name(姓名),age(年龄)、sex(性别)等数据成员与相关成员函数 / / / /ysj/hljdxb/ 实例说明为什么要使用继承 实例说明为什么要使用继承 现在要声明另一个类Student(学生),包含有num(学号),name(姓名),age(年龄),sex(性别)数据成员与相关成员函数 实例说明为什么要使用继承 只要在类Person(人)的基础上再增加数据成员num(学号),成员函数SetNum()和GetNum(),然后再对成员函数Show()作适当修改就可以声明出类Student(学生)。 这样声明的两个类的代码严重重复。为提高代码的重用性,引入继承机制,将类Student说明成类Person的派生类,这样相同的成员在类Student中就不需要再次进行声明。 5.1.2 派生类的声明 为便于大家理解怎样从类派生出另一个类,观察如下从类Person派生出类Student 的方法 在类名Student后跟的冒号后面,跟着关键字public与类名Person,这表示类Student将继承类Person的特性。其中类Person为直接基类,简称为基类,类Student是直接派生类,简称为派生类。关键字public指出派生的方式,告诉编译程序,派生类Student是从基类Person公有派生。 当一个派生类只有一个直接基类的情况,称为单继承。一个派生类同时有多个直接基类的情况称为多继承。 声明派生类 声明派生类的一般格式为: class 派生类名: 继承方式 基类名 { // 派生类新增的数据成员和成员函数 …… }; 其中“基类名”是一个已经定义的类的名称,“派生类名”是继承原有类的特性而生成的新类的名称。 “继承方式”表示如何访问从基类继承的成员,它可以是关键字private、protected和public,分别表示私有继承、保护继承和公有继承。由类Person派生出类Student可以采用后面三种格式 5.1.3 派生类与基类中的同名成员 在例5.1中,在派生类与基类中都定义了成员函数Show(),实际上在声明派生类时,C++允许派生类可以重新定义与基类成员同名的成员 在派生类中使用这样的成员意味着访问在派生类中重新定义的成员。为了在派生类中使用基类的同名成员,必须在该成员名之前加上基类名和作用域运算符 “::”,必须使用下面格式才能访问到基类的同名成员。 基类名::成员名 继承方式 派生类对基类的继承方式包括public(公有继承)、private(私有继承)和protected(保护继承)共三种。继承方式用于规定基类成员在派生类中的访问权限,具体地讲: 公有继承:基类的公有成员和保护成员在派生类中仍然保持为公有成员和保护成员的访问权限,基类的私有成员在派生类中不可访问。 私有继承:基类的公用成员和保护成员在派生类中成了私有成员,基类的私有成员在派生类中不可访问。 保护继承:基类的公用成员和保护成员在派生类中成了保护成员,基类的私有成员仍在派生类中不可访问。 5.2.1 公有继承 采用公有继承方式建立的派生类称为公有派生类,其基类称为公有基类 采用公有继承方式时,基类的公有成员和保护成员在派生类中仍然保持公有成员和保护成员的访问权限,基类的私有成员在派生类中并没有成为派生类的私有成员,只有基类的成员函数或友元函数可以引用它,而不能被派生类的成员函数或友元函数引用,因此成为派生类中的不可访问的成员 5.2.2 私有继承 用私有继承方式建立的派生类称为私有派生类,其基类称为私有基类 采用私有继承方式时,私有基类的公用成员和保护成员在派生类中的访问权限相当于派生类中的私有成员,即派生类的成员函数或友元函数能访问它们,而在派生类外非友元函数不能访问它们 私有基类的私有成员在派生类中成为不可访问的成员,只有基类的成员函数或友元函数可以引用它们。 5.2.3 保护成员和保护继承 访问权限为protected的成员称为受保护的成员,简称保护成员。 受保护成员和私有成员类似,不能被类外非友元函数所访问,但与私有成员不同的是保护成员可以被派生类的成员函数或友元函数所访问。 如果基类声明了私有成员,那么派生类的成员函数或友元函数都不能访问它们,如果希望在派

文档评论(0)

整理王 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档