C 中派生類隱式呼叫與顯式呼叫基類的建構函式

2021-10-05 19:14:48 字數 710 閱讀 7649

通過派生類的構造函式呼叫基類的建構函式有兩種方式,隱式和顯式兩種。所謂隱式方式就是在派生類的建構函式中不指定對應的基類的建構函式,這個時候呼叫的是基類的預設建構函式(即含有預設引數值或不帶引數的建構函式)。而所謂顯式方式,就是在派生類的建構函式中指定要呼叫的基類的建構函式,並將派生類建構函式的部分引數值傳遞給基類建構函式。注:除非基類有預設的建構函式,否則必須採用顯式呼叫方式
#include using namespace std;

class a

private:

int a;

int b;

};//基類a有預設的建構函式,可以隱式呼叫

class b:public a

private:

int c;

};int main()

#include using namespace std;

class a

private:

int a;

int b;

};//基類a沒有預設的建構函式,其現有的建構函式需要傳遞引數,通過

//派生類構造函式呼叫a建構函式時必須如下顯式呼叫

class b:public a

private:

int c;

};int main()

關於C 中派生類呼叫基類建構函式的理解

1 當基類中沒有自己編寫的建構函式時,派生類預設條用基類的建構函式 2 當基類中有自己編寫的建構函式時,要在基類中新增無參的建構函式 3 在基類中有自己編寫的建構函式並且在基類中沒有新增無參的建構函式時,要在派生類中是用base指定基類的建構函式 注 初始化的順序是從基類到派生類。初始化時首先會呼叫...

關於C 中派生類呼叫基類建構函式的理解

1 當基類中沒有自己編寫的建構函式時,派生類預設條用基類的建構函式 2 當基類中有自己編寫的建構函式時,要在基類中新增無參的建構函式 public class mybaseclass public mybaseclass int i public class myderivedclass mybas...

關於C 中派生類呼叫基類建構函式的理解

1 當基類中沒有自己編寫的建構函式時,派生類預設條用基類的建構函式 2 當基類中有自己編寫的建構函式時,要在基類中新增無參的建構函式 3 在基類中有自己編寫的建構函式並且在基類中沒有新增無參的建構函式時,要在派生類中是用base指定基類的建構函式 注 初始化的順序是從基類到派生類。初始化時首先會呼叫...