#include<iostream>
using namespace std;
class base0{
public:
base0(int i):var0(i){}
int var0;
void fun0(){
cout<<"member of base0"<<endl;}
};
class base1:virtual public base0{
public:
base1(int x):base0(x){}
};
class base2:virtual public base0{
public:
base2(int y):base0(y){}
};
class derived:public base1,public base2{
public:
derived(int x,int y,int z):base1(x),base2(y),var(z){}//這步報錯要呼叫base0的默認建構式
int var;
void fun(){cout<<"member of derived"<<endl;}
};
int main(){
derived a(1,2,3);
a.fun0();
return 0;
}
創建derived物件的時候已經給base0的建構式傳參了 已經構造了base0的物件了 為啥還要呼叫它默認的
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/226553.html
標籤:C++ 語言
下一篇:求指點迷津
