如果基類宣告了帶有引數的建構函式,派生類就應當宣告建構函式。
如果基類沒喲宣告建構函式,派生類也可以不宣告建構函式,全部採用預設的建構函式。
派生類的建構函式的執行次序是比較重要的,企業比試常考
派生類的建構函式的執行次序如下:
(1) 呼叫基類建構函式,呼叫順序按照他們被繼承時的宣告順序,即從左至右的順序。
(2)呼叫內嵌成員物件的建構函式,呼叫順序按照它們在類中的宣告順序;
(3)派生類建構函式的函式體內容。
以下例項說明這點
/* * file: main.cpp
* author: yubao
*派生類建構函式舉例,多繼承,含有內嵌物件
* created on may 31, 2009, 7:40 am
*/#include
using namespace std;
class b1
//基類建構函式,有引數
};class b2
//基類建構函式,有引數
};class b3
//基類建構函式,無引數
};class c:public b2, public b1, public b3
//注意派生類的基類宣告順序
private :
b1 memberb1;//注意內遷物件的宣告順序
b2 memberb2;
b3 memberb3;
};/*
* */
int main(int argc, char** argv)
C 中派生類建構函式解析
簡單的繼承方式 class parent class son public parent 上面的 完成了下面的工作 派生類物件儲存了基類的資料成員 派生類繼承了基類的實現 派生類物件可以使用基類的方法 派生類繼承了基類的介面 派生類需要進行下面的工作 需要自己的建構函式 可 以根據需要新增額外的資料...
關於C 中派生類呼叫基類建構函式的理解
1 當基類中沒有自己編寫的建構函式時,派生類預設條用基類的建構函式 2 當基類中有自己編寫的建構函式時,要在基類中新增無參的建構函式 3 在基類中有自己編寫的建構函式並且在基類中沒有新增無參的建構函式時,要在派生類中是用base指定基類的建構函式 注 初始化的順序是從基類到派生類。初始化時首先會呼叫...
關於C 中派生類呼叫基類建構函式的理解
1 當基類中沒有自己編寫的建構函式時,派生類預設條用基類的建構函式 2 當基類中有自己編寫的建構函式時,要在基類中新增無參的建構函式 public class mybaseclass public mybaseclass int i public class myderivedclass mybas...