继承性和派生性

继承性和派生性

ID:20895080

大小:480.50 KB

页数:66页

时间:2018-10-17

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

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

1、第8章 继承性和派生性8.1基类和派生类8.2单继承8.3多继承8.4虚基类8.1基类和派生类1、基类与派生类基类(父类):已存在的用来派生新类的类;派生类(子类):由已存在的类派生出的新类;2、单继承与多继承单继承:从一个基类派生的继承;多继承:从多个基类派生的继承;基类派生类ABACB单继承多继承8.1.1派生类的定义格式1、单继承class<派生类名>:<继承方式><基类名>{<派生类新定义成员>};2、多继承class<派生类名>:<继承方式1><基类名1>,<继承方式2><基类名2>...{<派生类新定义成员>};8.1.1派生类的定义格式(续)3、继承方式pub

2、lic:公有继承;private:私有继承;protected:保护继承;作用:控制基类中声明的成员在多大的范围内能被派生类的用户访问;私有成员公有成员保护成员私有成员公有成员保护成员基类部分新定义部分派生类派生类成员派生类的构成8.1.1派生类的定义格式(续)8.1.2派生类的三种继承方式基类派生类派生类基类实例派生类实例继承方式:publicprivateprotected(J)水平访问(H)垂直访问(V)直接继承(P)8.1.2派生类的三种继承方式(续)表:继承对基类成员的访问能力(私)(私)(保)8.1.2派生类的三种继承方式(续)私有成员不参与继承的访问控制;说明

3、:基类实例(J):与继承方式无关,遵循访问控制权限的定义;直接继承(P):可以访问基类中的公有成员和保护成员,但成员的权限随继承方式而改变;水平访问(H)=P+J;垂直访问(V)=P+P;保护成员:在垂直访问(V)时相当于公有成员,在水平访问(H)时相当于私有成员;保护继承:在垂直访问(V)时相当于公有继承,在水平访问(H)时相当于私有继承;8.1.2派生类的三种继承方式(续)例8.1:分析下列程序中的访问权限。classLocation{public:voidInitL(intxx,intyy);voidMove(intxOff,intyOff);intGetX(){re

4、turnX;}intGetY(){returnY;}private:intX,Y;};voidLocation::InitL(intxx,intyy){X=xx;Y=yy;8.1.2派生类的三种继承方式(续)}voidLocation::Move(intxOff,intyOff){X+=xOff;Y+=yOff;}classRectangle:publicLocation{public:voidInitR(intx,inty,intw,inth);intGetH(){returnH;}intGetW(){returnW;}private:intH,W;};voidRecta

5、ngle::InitR(intx,inty,intw,inth)公有继承8.1.2派生类的三种继承方式(续){InitL(x,y);W=w;H=h;}#includevoidmain(){Rectanglerect;rect.InitR(2,3,20,10);rect.Move(3,2);cout<

6、ctangle{public:voidFunction();};voidV::Function(){Move(3,2);}公有继承垂直访问,正确若继承方式为private,Move(3,2)是否正确?为什么?若继承方式为private,Move(3,2)仍然正确。原因:由于类Rectangle对类Location是公有继承,而类V对类Rectangle是直接继承,直接继承时不考虑继承方式,因此在类V内可以访问基类Location的公有成员;8.1.2派生类的三种继承方式(续)classRectangle:privateLocation{public:voidInitR(in

7、tx,inty,intw,inth);intGetH(){returnH;}intGetW(){returnW;}private:intW,H;};voidRectangle::InitR(intx,inty,intw,inth){InitL(x,y);W=w;H=h;}私有继承直接继承,正确8.1.2派生类的三种继承方式(续)#includevoidmain(){Rectanglerect;rect.InitR(2,3,20,10);rect.Move(3,2);cout<

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

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

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