求助关于虚基类的问题
星点点 2014-04-04 07:32:20 #include<iostream>
#include<cstdio>
using namespace std;
class Base
{
public:
int base;
Base(int a=0)
{
this->base=a;
cout<<"Base Constructer"<<a<<endl;
}
};
class A:public virtual Base
{
public:
int a;
A(int a,int b):a(a),Base(b)
{
cout<<"A Constructer"<<endl;
}
};
class B:public virtual Base
{
public:
int b;
B(int a,int b):b(a),Base(b)
{
cout<<"B Constructer"<<endl;
}
};
class C:public B,public A,public virtual Base
{
public:
int c;
C(int a , int b,int c,int d,int e):A(a,b),B(c,d),Base(e)
{
cout<<"C Constructer"<<endl;
}
};
int main()
{
C c(1,2,3,4,5);
return 0;
}
运行结果是
Base Constructer 5
B Constructer
A Constructer
C Constructer
知道先调用虚基类,但不太明白为什么是先调用B类再A再C?对这个调用顺寻不太明白,求解答,谢谢!