1.派生類從基類可以繼承來所有的成員(變數和方法),除過建構函式和析構函式。
問題一:派生類怎麼初始化從基類繼承來的成員變數呢?
解答:通過呼叫基類相應的建構函式來初始化。
派生類的建構函式和析構函式,負責初始化和清理派生類部分。
問題二:派生類從基類繼承來的成員,的初始化和清理由誰來負責呢?
解答:是由基類的構造和析構來負責的。
》派生類物件構造和析構的過程是:
1.派生類呼叫基類的建構函式,初始化從基類繼承來的成員
2.呼叫派生類自己的建構函式,初始化派生類自己特有的成員
.....派生類物件的作用域到期了
3.呼叫派生類的析構函式,釋放派生類成員可能占用的外部資源(堆記憶體,檔案)
4.呼叫基類的析構函式,釋放派生類記憶體中,從基類繼承來的成員可能占用的外部資源(堆記憶體,檔案)
構造派生類
include include 繼承 構造派生類 using namespace std class student student 這個就是預設建構函式。就不能再有student std cout student 進一步解釋 對於student string pname noname 不輸入引數是...
C 派生類建構函式
派生類構造函式呼叫順序 1.基類的建構函式.2.子物件類的建構函式.3.派生類建構函式.當物件被刪除時,派生類的析構函式被執行,由於析構函式也不能被繼承,因此在執行派生類的析構函式時,基類的析構函式也會被呼叫。先執行派生類的析構函式,再執行子物件類的析構函式,再執行基類的建構函式。include u...
派生類建構函式
1 建構函式和複製控制成員不能繼承,每個類定義自己的建構函式和複製控制成員。像任何類一樣,如果類不定義自己的預設建構函式和複製控制成員,就將使用合成版本。2 派生類的合成預設建構函式除了初始化派生類的資料成員之外,它還初始化派生類物件的基類部分。基類部分由基類的預設建構函式初始化。3 派生類建構函式...