- 1、本文档共47页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c程序设计课件(第看2章)
第2章 继承与派生 本章学习重点掌握内容: ? 继承的概念 ? 派生类的建立及继承的方式 ? 各种继承方式下基类成员的访问机制 ? 派生类的构造函数和析构函数 ? 多重继承 ? 虚基类 第2章 继承与派生 2.1 继承与派生的基础知识 2.2 类的继承方式 2.3 派生类的构造函数与析构函数 2.4 基类与派生类的转换 2.5 多重继承 2.6 虚基类 2.7 综合应用实例 2.1 继承与派生的基础知识 2.1.1 继承与派生的基本概念 现实世界中,许多事物之间的并不是孤立存在的,它们存在共同的特性,有细微的差别,可以使用层次结构描述它们之间的关系。例如交通工具的层次结构如图2.1所示: 2.1.1 继承与派生的基本概念 C++通过类派生(Class Derivation)的机制支持继承(Inheritance)。允许程序员在保持原有类特性的基础上进行扩展,增加功能,派生出新类。继承是面向对象程序设计中的代码复用的最重要的手段之一。被继承的类称为基类(Base Class)、父类或超类(Superclass),而新产生的类称为派生类(Derived Class)或子类(Subclass)。基类和派生类的集合称作类继承层次结构(Hierarchy),继承呈现了面向对象程序设计的层次结构。 2.1.1 继承与派生的基本概念 一个新类从已有的类获得其已有的特性称为继承。通过继承,新类获得了父类的所有数据成员和成员函数,并可以添加自己的数据成员和成员函数。一个基类可以派生出很多的子类,一个子类也可以作为另一个新类的基类,因此基类和子类是相对而言的。继承的方式有以下2种:单一继承和多重继承。 2.1.1 继承与派生的基本概念 单一继承和多重继承 2.1.2 派生类的定义 定义派生类的一般格式为: class 派生类名:继承方式 基类名 { private: 成员表1; //派生类增加或重写的私有成员 protected: 成员表2; //派生类增加或重写的保护成员 public: 成员表3; //派生类增加或重写的公有成员 }; 2.1.2 派生类的定义 其中:基类名是已声明的类,派生类名是新生成的类名; ? 继承方式规定了如何访问从基类继承的成员。继承的方式包括:私有继承(private)、保护继承(protected)、 公有继承(public)。不同的继承方式下,派生类继承的父类成员的访问权限是不同的。继承方式可以省略不写,默认的继承方式为私有继承(private); ? 派生类的定义中包括子类新增加的成员和继承父类需要重写的成员。新添加的成员是派生类对基类的发展,说明派生类新的属性和方法;派生类继承了父类的数据成员和成员函数,有时继承来的成员函数需要改进,以满足新类的实际需要。C++允许在派生类中重新声明和定义这些成员函数,使这些函数具有新的功能,称之为重写或覆盖。重写函数起屏蔽、更新作用,取代基类成员,完成新功能。 2.1.2 派生类的定义 【例2.1】已知盒子CBox类,用继承与非继承两种不同的方法定义彩色盒子CColorbox类。 分析:盒子类(Cbox)具有长、宽和高,成员函数SetLength()、 SetWidth()和SetHeight()分别设置盒子的长、宽和高,成员函数Volume()计算盒子的体积。彩色盒子除具有以上特性外,还有一个数据成员color表示盒子的颜色,相应的成员函数SetColor()用于设置彩色盒子的颜色。 2.1.2 派生类的定义 非继承的方式,分别定义CBox类和CColorbox类 盒子类的定义:代码见备注 彩色盒子类的定义:代码见备注 2.1.2 派生类的定义 使用派生类定义: class CColorbox : public CBox //公有继承 { //新增的私有数据成员 public: void SetColor(int c) //新增的成员函数 { color=c; } private: int color; }; 利用继承机制产生类比第一种简单多了,但功能一样。派生类CColorbox公有继承Cbox类,它包括基类CBox类的全部数据成员(length,width,height)和成员函数(SetWidth 、SetHeigh和SetWidth),但访问权限发生了变化。并且添加自己的新成员——数据成员color和成员函数SetColor()。 2.1.3 派生类的生成 仔细分析派生新类这个过程,实际
您可能关注的文档
最近下载
- 国标动力专业图集 - 01(03)R413 室外热力管道安装(架空敷设).pdf
- API 571-2020影响炼油工业固定设备的损坏机理-中文版.pdf
- 中建铁路信用评价管理办法解读.pptx
- 2025年AMC8模拟卷和解析.pdf
- 2024中国工商银行福建分行乡村振兴专项招聘10人笔试备考试题及答案解析.docx VIP
- 《循环小数》跨学科解说(教学设计)-2023-2024学年五年级上册数学人教版.docx VIP
- 14S501单层、双层井盖及踏步(2015年合订本)(OCR).pdf VIP
- 2024年上海市金山区中考英语一模试卷.docx
- 视觉传播传统图形创新设计教学能力比赛教案.pdf
- 2025届高考专题复习:句式变换.pptx VIP
文档评论(0)