class B
{
public:
B(char c = 'a') : m_c(c) {}
public:
fun();
private:
char m_c;
};
class C: virtual public B
{ };
class D: virtual public B
{ };
class E
: public C
, public D
{ };
我只是想知道“虚拟”关键字如何帮助 E 类只有 B 类的一个副本?virtual 关键字在“C 类”中的作用,以便以后影响其派生类(如您所见,我只是想了解虚拟继承的基本工作原理。我试图找出这个问题的答案,但没有得到它是正确的,如果有人知道任何好的链接,即使这会有所帮助。)。换句话说,两者有什么区别
//1)
class C: virtual public B
{ };
//2)
class C: public B
{ };
如果我们不再开 C 级车。在创建对象时,1)和2)之间会有什么特别的区别吗?