#include <iostream>
using namespace std;
//虚继承的意义
//在多继承中,保存共同基类的多份同名成员,虽然有时是必要的,可以在不同的数
//据成员中分别存放不同的数据,但在大多数情况下,是我们不希望出现的。因为保留多
//份数据成员的拷贝,不仅占有较多的存储空间,还增加了访问的困难。
//为此,c++提供了,虚基类和虚继承机制,实现了在多继承中只保留一份共同成员。
//虚基类,需要设计和抽象,虚继承,是一种继承的扩展
//解决多重多级继承造成的二义性
class A
{
public:
int i;
void print(){
cout<<"i="<<i<<endl;
}

本文介绍了C++中的虚基类和虚继承概念,这两种机制旨在解决多继承导致的数据冗余和访问困难。通过使用虚基类,可以确保在多级多重继承中只保留一份共同的基类成员,从而减少存储空间占用并消除二义性。示例代码展示了如何在类B和C中通过虚继承从基类A派生,并在类D中进一步实现多继承,成功避免了二义性问题。
最低0.47元/天 解锁文章
726

被折叠的 条评论
为什么被折叠?



