C++引入虚基类的目的何在
答案:1 悬赏:20 手机版
解决时间 2021-04-01 20:21
- 提问者网友:玫瑰园
- 2021-04-01 15:19
C++引入虚基类的目的何在
最佳答案
- 五星知识达人网友:孤独入客枕
- 2021-04-01 16:52
首先要知道C++是少数几个支持“多继承”的语言。
多继承会带来很多问题,其中一个就是菱形继承:
class A;
class B : public A;
class C: public A;
class D : public B, public C
此时D的实例中会有两个A,为了解决这个问题,引入了virtual base class的概念
在实际的开发中,会避免这种情况。基本上都是继承一个类,实现多个“接口”
C++中没有接口的概念。但是一个只有纯虚函数的类本质上就是一个接口。
C++中也没有实现接口的概念,但是,继承一个只有纯虚函数的类本质上就是实现一个接口
C++中的多继承一般是这么用的。这样降低了设计的复杂度,减少问题的出现
多继承会带来很多问题,其中一个就是菱形继承:
class A;
class B : public A;
class C: public A;
class D : public B, public C
此时D的实例中会有两个A,为了解决这个问题,引入了virtual base class的概念
在实际的开发中,会避免这种情况。基本上都是继承一个类,实现多个“接口”
C++中没有接口的概念。但是一个只有纯虚函数的类本质上就是一个接口。
C++中也没有实现接口的概念,但是,继承一个只有纯虚函数的类本质上就是实现一个接口
C++中的多继承一般是这么用的。这样降低了设计的复杂度,减少问题的出现
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯