派生类如何使用虚基类的实例,如何在下面的代码中实现?
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/