虚基类不允许初始化传递:
A{int I;
A(int i):I(i){} }
B:public virtual A{int J;
B(int i,int j):A(i),J(j){} }
C:public virtual A{int K;
C(int i,int k):A(i),K(k){} }
D:C,B{}
下面这样是不行的
D(int i,int j,int k):B(i,j),C(i,k){}
将使用A的默认构造函数,i 没有作用
正确的做法:
D(int i,int j,int k):A(i),B(i,j),C(i,k){}