程序设计基础——C++ 教学课件 作者 刘玉英 第8讲 继承与派生.ppt

程序设计基础——C++ 教学课件 作者 刘玉英 第8讲 继承与派生.ppt

ID:50336544

大小:242.50 KB

页数:34页

时间:2020-03-08

程序设计基础——C++ 教学课件 作者 刘玉英 第8讲 继承与派生.ppt_第1页
程序设计基础——C++ 教学课件 作者 刘玉英 第8讲 继承与派生.ppt_第2页
程序设计基础——C++ 教学课件 作者 刘玉英 第8讲 继承与派生.ppt_第3页
程序设计基础——C++ 教学课件 作者 刘玉英 第8讲 继承与派生.ppt_第4页
程序设计基础——C++ 教学课件 作者 刘玉英 第8讲 继承与派生.ppt_第5页
资源描述:

《程序设计基础——C++ 教学课件 作者 刘玉英 第8讲 继承与派生.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、8.1继承与派生8.2类的继承方式8.2.1公有派生8.2.2私有派生82.3保护派生8.3派生类的构造函数与析构函数8.3.1派生类的构造函数8.3.2派生类的析构函数8.4多继承8.5多继承中的二义性问题8.6虚基类第8讲继承与派生可以把继承过程看成是从一个类派生出一个新类的过程。派生出来的新类称为派生类或子类;而被继承的类称作基类或父类。一个基类可以派生出多个派生类,一个派生类也可以由多个基类派生而来。称从一个基类派生出一个派生类的过程为单继承;从多个基类派生出一个派生类的过程为多继承。8.1继承与派生继承是面向对象程序设计支持代码重用的重要机制。

2、通过继承,可以在原有类的基础上派生出新类,新类将共享原有类的属性,并且还可以添加新的特性。8.1.1概述图1单继承与多继承b)多继承的派生类与基类的关系输入设备类输出设备类硬盘类基类派生类a)单继承的派生类与基类的关系台式机类便携式类计算机类派生类基类8.1.2派生类的生成面向对象的继承与派生机制,最主要的目的是实现代码的重用和扩充。由基类派生新类的过程需要经历三个步骤:(1)吸收基类成员;(2)改造基类成员;(3)添加新成员。吸收基类成员全盘接收基类成员,但构造函数和析构函数除外改造基类成员基类依靠继承方式改变成员的访问权限;同名覆盖(派生类成员覆盖基

3、类成员);添加新成员派生类添加新成员,使其功能扩展通过单继承派生一个类,一般形式如下:class派生类名:继承方式基类名{声明派生类新成员};继承方式用的关键字public:表示公有继承private:表示私有继承protected:表示保护继承是单继承派生出来的类的名称。用关键字public、private或protected指定,如果省略,系统将默认为私有派生。指明了派生类的基类,这个基类必须在声明派生类之前已经声明,否则,会导致编译错误。8.2单继承当采用公有继承时,基类中的公有(public)成员和保护(protected)成员的访问权限在派生类

4、中保持不变,而基类的私有(private)成员无论是在派生类中,还是在类外都不可直接访问。基类的公有成员和保护成员被派生类继承过来,作为派生类的公有成员和保护成员。简述8.2.1公有继承在公有继承时,基类和派生类中的公有成员都可以直接通过派生类的对象名来访问。在派生类中可直接访问从基类继承来的保护成员x;但是基类的私有成员y,只能通过接口函数访问。注意classB:publicA//派生类定义{public:intgetsum(){returnx+gety();}};intmain(){Bb;b.setx(2);b.sety(3);cout<<"X="<

5、

6、还是类外都是不可访问的。但基类中的公有(public)成员和保护(protected)成员的访问权限在派生类中则变为私有,派生类把它们作为私有成员来访问。基类的公有成员和保护成员被派生类继承过来,作为派生类的私有成员;而基类的私有成员在派生类中不能直接使用。简述8.2.2私有继承#includeclassA{public:voidsetx(inta){x=a;}voidsety(intb){y=b;}intgetx(){returnx;}intgety(){returny;}protected:intx;private:inty;

7、};案例5.2私有继承classB:privateA{public:voidsetBx(inta){setx(a);}voidsetBy(intb){sety(b);}intgetBx(){returngetx();}intgetBy(){returngety();}intgetsum(){returnx+gety();}};voidmain(){Bb;b.setBx(2);b.setBy(3);cout<<"X="<

8、明:类B是由类A私有派生而来的,类A中的公有和保护成员被类B继承过来后,作为私有

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

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

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