class A
{
};
class B:virtual public A
{
};
class C:virtual public A
{
};
class D:public B,public C
{
};
void main()
{
}
执行输出的结果为
class A
class B
class C
class D
上述结果表明只有类D的构造函数的成员初始化列表中列出的虚基类构造函数被调用,并且仅调用一次,而类D的基类的构造函数的成员初始化列表中列出的虚基类构造函数不执行。