当前位置: 首页 > 资讯中心 > 游戏攻略 > 深入了解C++继承

深入了解C++继承

来源:网络作者:提莫时间:2024-05-10 16:00:49
分享到:
标签:
一、继承(Inheritance) C++有一个很好的性质称为inheritance(继承),就是声明一个class(derived class),把另一个或多个class(base class)的所有内容(包括data members和member function)统统继承下来(有无存取权限是另

一、继承(Inheritance)

C++中的继承(inheritance)是一种很有用的特性,它允许一个类(派生类)继承另一个或多个类(基类)的所有内容,包括数据成员和成员函数(存取权限另当别论)。如果直接继承自一个基类,则称为单一继承;如果直接继承自多个类,则称为多重继承。语法如下(以下是三层单一继承):

然后我们可以这样使用它们:

我们在CPint3d对象中使用继承而来的x()和y()函数,这两个函数将存取继承而来的_x和 _y数据。继承的最大用意,在于表现对象世界中is a kind of(或说is a)的关系。以本例CPoint3d对象为例,其结构示意图如下:

C++语言支持三种继承:

1. 单一继承(single Inheritance):直接基类只有一个。

2. 多重继承(Multiple Inheritance):直接基类不止一个。

3. 虚拟继承(Virtual Inheritance):在多重继承下,让共同的“祖父级”基类对象能够被共享,不至于浪费内存空间。

二、单一继承(single Inheritance)

所谓单一继承,就是每一个类的直接基类只能有一个,继承的层级数目并没有限制。上例的CPoint、CPoint2d、CPoint3d一脉相传就是一种单一继承:

三、多重继承(Multiple Inheritance)

所谓多重继承,就是每一个类的直接基类不止一个,多重继承的语法如下:

四、虚拟继承(Virtual Inheritance)

所谓虚拟继承,就是在类头中,在基类的前方加上virtual关键字,如下所示:

五、继承体系下的对象构造和析构

1. 继承体系下的对象构造顺序是:先内后外,先上后下;

2. 继承体系下的对象析构顺序是:先外后内,先下后上;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

相关阅读

装机必备软件
  • 下载总排行
  • 下载月排行

1高德地图2021

新闻资讯

2大众点评

聊天社交

3迅雷

壁纸主题

4一波语音

聊天社交

5知乎

摄影摄像

6映客

学习教育

7花小猪打车

学习教育

8哈啰出行最新版

聊天社交

9qq邮箱

摄影摄像

10贝壳找房

生活健康