复习类时遇到了类继承时子类与父类间构造函数的赋值与传递情况,如下: #include<iostream> using namespace std; class root { public: int x; root(int a) { x=a; } void dis(){cout<<"root=:"<<x<<endl;} }; class sona:public root { public: int y; sona(int a,int b):root(b) { y=a; } void disa() { cout<<"sona=:"<<y<<endl; } }; class sonb:public root { public: int z; sonb(int a,int b):root(b) { z=a; } void disb() { cout<<"sonb=:"<<z<<endl; } }; class sonc:public sona,public sonb { public: int kk; sonc(int a,int b,int c):sona(b,b),sonb(c,c) { kk=a; } void disc()//用到了作用域运算符,用于指明调用的是那个子类继承来的父类dis函数,这里可以用虚基类代替 { sona::dis(),disa();//输出类sona涉及的数据 sonb::dis(),disb();//输出类sonb涉及的数据 cout<<"sonc=:"<<kk<<endl; } }; int main() { sonc son(11,22,33); son.disc(); return 'pzj'; }