1.为什么需要虚继承
如下图所示如果访问Der::Fun or Der::m_nValue就会带来二义性,无法确定是调用Base1的还是Base2的,所以为了解决多重继承情况下成员访问的二义性,引入了虚继承机制。
一般继承 虚继承

2.虚继承实现
在虚继承下,Der通过共享虚基类SuperBase来避免二
本文探讨了C++中的虚继承机制,旨在解决多重继承导致的成员访问二义性问题。通过虚继承,子类可以共享虚基类,避免了二义性。文章比较了GCC和VC编译器在虚继承实现上的差异,分析了它们在内存占用和虚函数表指针处理上的不同策略。
1.为什么需要虚继承
如下图所示如果访问Der::Fun or Der::m_nValue就会带来二义性,无法确定是调用Base1的还是Base2的,所以为了解决多重继承情况下成员访问的二义性,引入了虚继承机制。
一般继承 虚继承

2.虚继承实现
在虚继承下,Der通过共享虚基类SuperBase来避免二
2361
2023
4850

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