第11章 继承和派生

第11章 继承和派生

ID:43531503

大小:321.50 KB

页数:18页

时间:2019-10-10

第11章 继承和派生_第1页
第11章 继承和派生_第2页
第11章 继承和派生_第3页
第11章 继承和派生_第4页
第11章 继承和派生_第5页
资源描述:

《第11章 继承和派生》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第11章继承和派生11.1继承一个类继承另一个类的过程成为派生一个类,派生出来的类称为派生类或子类。而被继承的类称为基类或父类,类的派生过程可以无限进行下去。11.1.1单一继承基类只有一个。格式:class<派生类的名字:>private<基类类名>public{private:<私有成员>;public:<公有成员>;protected:<被保护成员>;}说明:1继承可以部分继承,也可以在派生类中增加新的成员。2.派生分两类:私有和公有。11.1.2公有派生公有派生时,访问基类成员的权限在派生类中保持不变。即

2、从类外可以访问从基类中派生下来的公有成员。例11-1:定义一个B类,从B类公有派生D类,并在D类中在增加一个私有数据成员Z和三个公有函数。程序:classB{intx,y;public:voidSetx(inta){x=a;}voidSety(intb){y=b;}intGetx(){returnx;}intGety(){returny;}};classD:publicB{intz;public:voidSetz(intc){z=c;}intGetz(){returnz;}intSum(){return(Getx

3、()+Gety()+Getz());}};#include"iostream.h"voidmain(){Dd;d.Setx(1);//由于是公有派生,类外可访问直接访问d.Sety(2);//继承后可以用d调用b类中的成员d.Setz(3);cout<<"x="<

4、均在类内部进行。对类中的成员的访问均通过函数成员进行。派生出来的公有成员仍通过派生类的对象名访问。在派生类中不能访问基类的私有成员。11.1.3私有派生基类成员在派生类中进行封装说明,在派生类外部(如函数)均不可见,而使用的是封装后的函数名(成员名)。例11-2:从B类私有派生D类,然后进行输入和输出。classB{intx,y;public:voidSetx(inta){x=a;}voidSety(intb){y=b;}intGetx(){returnx;}intGety(){returny;}};#inclu

5、de"iostream.h"classD:privateB//私有派生{intz;public:voidSetz(intc){z=c;}voidSetbase(inta,intb){Setx(a);Sety(b);}intGetbx(){returnGetx();}//私有派生时,基类中的公有成员不能直接被访问(Getx())intGetby(){returnGety();}intGetz(){returnz;}intSum(){return(z+Getx()+Gety());}};voidmain(){Dd;d

6、.Setbase(1,2);//私有派生时,基类中的公有成员不能直接访问d.Setz(3);cout<<"x="<

7、a){x=a;}voidSety(intb){y=b;}intGetx(){returnx;}intGety(){returny;}};#include"iostream.h"classD:privateB{intz;public:voidSetz(intc){z=c;}voidSetbase(inta,intb){x=a;//对于派生类,仍是公有y=b;}intGetbx(){returnGetx();}intGetby(){returnGety();}intGetz(){returnz;}intSum(){r

8、eturn(z+x+y);}};voidmain(){Dd;d.Setbase(1,2);//对于外部程序,它是私有的,成员不能直接访问d.Setz(3);cout<<"x="<

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

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

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