电子教案第4章.ppt

电子教案第4章.ppt

ID:56530926

大小:339.00 KB

页数:72页

时间:2020-06-27

电子教案第4章.ppt_第1页
电子教案第4章.ppt_第2页
电子教案第4章.ppt_第3页
电子教案第4章.ppt_第4页
电子教案第4章.ppt_第5页
资源描述:

《电子教案第4章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章派生类与继承4.1派生类的概念4.1.1为什么要使用继承假设有两个类---类A和类B,若类B继承类A,A(基类或父类)B(派生类或子类)则类B具有类A的基本特性(包括数据和程序代码)若类之间具有继承关系,则它们之间具有下列几个特性:1.类间具有共享特性(包括数据和程序代码的共享);2.类间具有差别或新增部分(包括非共享的数据和程序代码);3.类间具有层次结构。如果类B是类A的派生类,那么,在构造类B的时候:1.不必重新描述派生类B的所有特性,只需让它继承类A的特性,2.增加类B与基类A不同的那些特性。可见,类B的特性是由继承来的和新添加的两部分特性构成。例:

2、classperson{classemployee{protected:protected:charname[10];charname[10];intage;intage;charsex;charsex;public:chardepartment[20];voidprint();floatsalary;};public:print();};保护成员classperson{classemployee:person{protected:protected:charname[10];chardepartment[20];intage;floatsalary;charse

3、x;public:public:print();voidprint();};};被继承的部分新添加的部分派生类基类继承机制的作用:它可以让程序员在既有类的基础上,通过增加少量代码或修改少量代码的方法得到新的类。4.1.2派生类的声明声明一个派生类的一般格式为:class派生类名∶派生方式基类名{//派生类新增的数据成员和成员函数};①classemployee∶publicperson{//…};②classemployee∶privateperson{//…};③classemployee∶protectedperson{//…};默认的派生方式为:privat

4、e公有继承私有继承保护继承保护成员(protected)可以被本类的成员函数访问,也可以被本类的派生类的成员函数访问,而类以外的任何访问都是非法的,即它是半隐蔽的。大学生类可以作为学生类的派生类:classUStudent:publicStudent{char*major;//新增加数据成员public:voidprint();};从已有类派生出新类时,可以在派生类内完成以下几种功能:(1)可以增加新的数据成员;(2)可以增加新的成员函数;(3)可以重新定义基类中已有的成员函数;(4)可以改变现有成员的属性。4.1.3基类成员在派生类中的访问属性4.1.3基类成员

5、在派生类中的访问属性1.私有继承时classA{private:intX;public:intY;protected:intZ;};classB:privateA{X不允许派生类继承,不可直接访问。Y在派生类中以私有成员的身份出现Z在派生类中以私有成员的身份出现。}私有继承2.公有继承时classA{private:intX;public:intY;protected:intZ;};classB:publicA{X不允许派生类继承,不可直接访问。Y在派生类中仍以公有成员的身份出现Z在派生类中仍以保护成员的身份出现}公有继承3.保护继承时classA{private

6、:intX;public:intY;protected:intZ;};classB:protectedA{X不允许派生类继承,不可直接访问。Y在派生类中以保护成员的身份出现Z在派生类中仍以保护成员的身份出现}表4.1**保护继承4.1.4派生类对基类成员的访问规则派生类对基类成员的访问形式主要有以下两种:(1)内部访问:由派生类中成员函数对基类继承来的成员的访问。(2)对象访问:在派生类外部,通过派生类的对象对从基类继承来的成员的访问。1.私有继承的访问规则表4.2私有继承的访问规则**例4.1**例4.2**2.公有继承的访问规则表4.3公有继承的访问规则**/

7、/例4.3**classA{3.保护继承的访问规则intx;public:inty;protected:intz;};classB:protectedA{print(){//访问x?,y?,z?}(内部访问)};main(){Bb1;//b1访问x?,y?,z?(对象访问)保护继承3.保护继承的访问规则表4.4保护继承的访问规则**//例4.4对于基类中的私有成员:无论哪种派生方式,基类中的私有成员,不允许派生类的对象直接访问(对象访问)不允许派生类中新增成员直接访问(内部访问),但是可以通过基类提供的公有成员函数访问。思考题**4.2派生类的构造函数和析构函数4

8、.2.1派

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

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

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