欢迎来到天天文库
浏览记录
ID:50082243
大小:275.50 KB
页数:73页
时间:2020-03-08
《C++面向对象程序设计 李素若 杜华兵主著 c4.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章派生类与继承主要内容4.1继承与派生类的概念4.2派生类成员的访问属性4.3派生类构造函数和析构函数4.4多继承4.5虚基类4.6子对象与父对象复制兼容4.7继承与组合4.1继承与派生类4.1.1为什么要使用继承引入继承的目的在于为代码重用提供有效手段。classperson{protected:charname[10];intage;charsex;public:voidprint();};classemployee{protected:charname[10];intage;charsex;chardepartment
2、[20];floatsalary;public:voidprint();};4.1.2派生类的声明4.1继承与派生类//定义一个基类classperson{protected:charname[10];intage;charsex;public://……};//定义一个派生类classemployee:publicperson{protected:chardepartment[20];floatsalary;public://……};声明一个派生类的一般格式为:class派生类名:继承方式基类名{//派生类新增的数据成员和成员函
3、数};4.1.2派生类的声明由类person继承出类employee可以采用下面的三种格式之一:(1)公有继承classemployee:publicperson{//…};(2)私有继承classemployee:privateperson{//…};(3)保护继承classemployee:protectedperson{//…};4.1.2派生类的声明从已有类派生出新类时,可以在派生类内完成以下几种功能:(1)可以增加新的数据成员;(2)可以增加新的成员函数;(3)可以重新定义基类中已有的数据成员和成员函数;(4)可以改变
4、现有成员的属性。4.1.3派生类的构成派生类对基类成员的访问形式主要有以下两种:(1)内部访问:由派生类中新增成员对基类继承来的成员的访问。(2)对象访问:在派生类外部,通过派生类的对象对从基类继承来的成员的访问。4.1.4基类成员在派生类中访问属性4.1.4基类成员在派生类中访问属性在基类中的访问属性继承方式在派生类中的访问属性privatepublic不可直接访问privateprivate不可直接访问privateprotected不可直接访问publicpublicpublicpublicprivateprivatepu
5、blicprotectedprotectedprotectedpublicprotectedprotectedprivateprivateprotectedprotectedprotected4.1.5派生类对基类成员的访问规则1.公有继承的访问规则基类的public成员公有继承派生类public成员;基类的protected成员公有继承派生类protected成员;基类的private成员公有继承派生类中不可访问。例4.1一个公有继承的例子#include//声明一个基类classA{pub
6、lic:voidsetA(inti,intj){x=i;y=j;}voidshowA(){cout<<”x=”<7、te:intz;};intmain(){Bobj;obj.setB(10,20,30);obj.showA();obj.showB();return0;}4.1.5派生类对基类成员的访问规则表4-2公有继承的访问规则基类成员private成员public成员protected成员内部访问对象访问不可访问不可访问可访问可访问可访问不可访问4.1.5派生类对基类成员的访问规则2.私有继承的访问规则基类的public成员私有继承派生类private成员;基类的protected成员私有继承派生类private成员;基类的pri8、vate成员私有继承派生类中不可访问。例4.2一个私有继承的例子4.1.5派生类对基类成员的访问规则#includeclassA{//声明一个基类public:voidsetA(inti){x=i;}voidshowA(){cout<
7、te:intz;};intmain(){Bobj;obj.setB(10,20,30);obj.showA();obj.showB();return0;}4.1.5派生类对基类成员的访问规则表4-2公有继承的访问规则基类成员private成员public成员protected成员内部访问对象访问不可访问不可访问可访问可访问可访问不可访问4.1.5派生类对基类成员的访问规则2.私有继承的访问规则基类的public成员私有继承派生类private成员;基类的protected成员私有继承派生类private成员;基类的pri
8、vate成员私有继承派生类中不可访问。例4.2一个私有继承的例子4.1.5派生类对基类成员的访问规则#includeclassA{//声明一个基类public:voidsetA(inti){x=i;}voidshowA(){cout<
此文档下载收益归作者所有