c++ - 派生类如何使用虚拟基类的实例?

标签 c++

派生类如何使用虚基类的实例,如何在下面的代码中实现?

class A
{
public:
void test();
};


class B : virtual public A
{
};


class c : public A
{
} ;

 class D : public B, public C
{
};

最佳答案

请参阅带有更正版本的题词评论:

class A
{
public:
void test();
};

class B: virtual public A // A is a virtual base class
{
};


class C : public A // C is a base class of A
{
} ;

class D: public B, public C // D has two base classes B and C
{
};

通过继承,D获得了A的两份拷贝,一份通过B,一份通过C 如果你声明:

class C : virtual public A // C is a virtual base class of A
{
} ;

关于c++ - 派生类如何使用虚拟基类的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24756345/

相关文章:

c++ - Boost.Preprocessor 使用宏而不是简单定义的基本原理?

c++ - 根据条件划分数组中的元素

c++ - `static`的使用如何影响我的代码速度?

C++ lambda 后跟 () 与没有 () 的 lambda

c++ - sstream 不工作...(仍然)

c++ - 纹理未在屏幕上绘制

c++ - 如何定义导出符号的地址

c++ - Quantlib 1.5 构建

C++:文件 I/O 在文件中查找名称

c++ - 在 Vulkan 中启用垂直同步