C++教程继承与派生

C++教程继承与派生

ID:37918905

大小:226.50 KB

页数:29页

时间:2019-06-02

C++教程继承与派生_第1页
C++教程继承与派生_第2页
C++教程继承与派生_第3页
C++教程继承与派生_第4页
C++教程继承与派生_第5页
资源描述:

《C++教程继承与派生》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章继承与派生8-1.教学目的与要求1.理解继承的概念;2.掌握继承的实现方法;3.继承中常见问题的处理方法。8-2.主要内容及重点:类是C++中进行数据封装的逻辑单位。继承是面向对象程序设计的一个重要特征之一,它允许在既有类的基础上创建新的类,新类可以从一个或多个既有类中继承操作和数据,而且可以重新定义或加进新的数据和操作,从而形成类的层次或等级。既有类称为基类或父类,在它基础上建立的新类称为派生类、导出类或子类。本章的重点是派生类的定义和使用、创建派生类对象时构造函数的调用顺序、多重继承中的冲突及其消除方法以及作用域运算符的几种使用方法等。本章的难点是基类的初始化、多重

2、继承中的冲突以及虚基类等。8-3.第8章继承-课件3-4.8-4.第8章继承-复习总结继承是面向对象程序设计方法的基本特性之一,继承可以提高软件的重要性。本章主要介绍了C++中的继承性的实现方法以及在继承性常见问题的处理方法。包括基类的初始化、访问类型的调整、冲突及其消除方法、成员覆盖、赋值兼容性以及虚基类等。类的派生包括三种类型:私有派生、保护派生、公有派生。利用构造函数的初始化成员列表,可以在派生类中对基类成员进行初始化。在继承层次关系中要避免冲突的产生,通常是采用指定作用域和定义虚基类这两种方法来解决问题。8-5.第8章继承-练习8-5-1.思考题:291).派生类有几

3、种方式,每种方式中派生类对基类成员的继承如何?2).在创建派生类对象时,构造函数的执行次序是怎样的?析构函数的执行次序是怎样的?3).派生类对象如何对基类中的成员进行初始化?4).在多重继承中,在什么情况下会产生冲突?如何消除冲突?5).列举我们已学习的作用域运算符“::”的所有用途。6).属于不同类的对象在什么情况下可以互相赋值?7).什么叫虚基类?为什么要引进虚基类?8-5-2.练习题:课后练习题见练习单元。第8章继承与派生类是C++中进行数据封装的逻辑单位。继承是面向对象程序设计的一个重要特征之一,它允许在既有类的基础上创建新的类,新类可以从一个或多个既有类中继承操作和

4、数据,而且可以重新定义或加进新的数据和操作,从而形成类的层次或等级。既有类称为基类或父类,在它基础上建立的新类称为派生类、导出类或子类。8.1继承与派生的基本概念交通工具汽车小汽车卡车游行车工具车轿车面包车298.1.1单继承和多继承:单继承:一个类继承一个一般类特性的继承称为单继承。多继承:一个类可以继承多个一般类的特性,然后再在继承来的这些一般类的基础上增加自己的特殊性,这种继承方式称为多继承。如:一个助教博士,他既是一个学生,又是一个老师,如果从学生类和老师类两个一般类继承特性,则助教博士类可以获得这两个类的特性,因而能进一步增强开发效率。baseClassderive

5、dAderivedB单继承baseClassAderivedCbaseClassB多继承单继承是所有面向对象程序设计语言都具有的功能,但并不是所有的语言都支持多继承,这是由多继承实现的复杂性决定的。C++语言支持多继承。8.1.2基类和派生类:在定义类B时,如果它使用了一个已定义的类A的部分或全部成员,则称类B继承了A,或由类A派生出类B。并称类A为基类或父类,类B为派生类或子类。一个派生类又可以作为另一个类的基类,这样一个基类可以直接或间接派生出若干个派生类,构成树状的继承关系。但是注意:继承关系不可循环。如:A继承B,B继承,C又继承A,这是非法的。例类Y继承类X的特性,

6、类Z又继承类Y的特性,从而间接继承来类X的特性。因而类X是类Y的直接基类,是类Z的间接基类,类Y是类X的直接派生类,类Z是类X的间接派生类。类X、Y、Z形成了一个类层次。如前图.8.1.3两个类之间要具有继承关系,它们通常满足:1)有共同的属性或操作。2)有细微的差别。8.2派生类说明及其构造函数和析构函数8.2.1派生类的说明从一个基类派生出子类的一般格式为;class<派生类名>:<基类名>{29…//类体,派生类新增的数据成员和成员函数};其中:1)class是类定义的关键字,用于告诉编译器下面定义的是一个类。2)派生类名是新定义的类名

7、。3)访问属性是访问说明符,可以是private、public、protected之一。此项的默认值为private,派生类名和访问属性之间用冒号隔开。派生类的访问控制由访问属性来确定,它按下述方式来继承基类的访问属性。①.公有派生如果访问属性是为public,则基类的public成员是派生类的public成员;基类的protected成员是派生类的protected成员;基类的private成员是派生类的private成员;即基类的private成员对派生类仍保持private属性。显然,派生类中通过

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。