46 繼承中的構造與析構

2021-08-20 12:38:09 字數 1230 閱讀 1151

【問題】如何初始化父類成員?父類建構函式和子類建構函式有什麼關係?

必須對繼承而來的成員進行初始化:

父類建構函式在子類中呼叫方式:

父類建構函式的呼叫:

class child : public parent 

child(string s) : parent("parameter to parent")

};

【範例**】子類的建構函式

#include #include using namespace std;

class parent

parent(string s)

};class child : public parent

child(string s) : parent(s)

};int main(int argc, const char* argv)

構造規則:

【範例**】子類構造深度解析

#include #include using namespace std;

class object

};class parent : public object

parent(string s) : object(s)

};class child : public parent

child(string s) : parent(s), mo1(s + " 1"), mo2(s + " 2")

};int main(int argc, const char* argv)

析構函式的呼叫順序與建構函式相反:

【範例**】物件的析構

#include #include using namespace std;

class object

~object()

};class parent : public object

parent(string s) : object(s)

~parent()

};class child : public parent

child(string s) : parent(s), mo1(s + " 1"), mo2(s + " 2")

~child()

};int main(int argc, const char* argv)

第46課 繼承中的構造與析構

1.1 子類中可以定義建構函式 1.2 子類建構函式,必須 對繼承而來的成員進行 初始化 有兩種方式 1.2.1 直接通過 初始化列表 進行初始化或 賦值的方式 進行初始化 1.2.2 呼叫父類建構函式 進行初始化 1.3 父類建構函式在子類中呼叫方式 1.3.1 預設呼叫 適用於 無參建構函式 和...

第46課 繼承中的構造與析構

本文內容來自於對狄泰學院 唐佐林老師 c 深度解析 課程的學習總結 子類物件的構造 子類中可以定義建構函式 子類建構函式 必須對繼承而來的成員進行初始化 直接通過初始化列表 或者 賦值的方式 進行初始 呼叫父類建構函式 進行初始化 父類建構函式在子類中的呼叫方式 預設呼叫 適用於無參建構函式 和 使...

繼承中的構造與析構

賦值相容性原則 子類物件可以當作父類物件使用 子類物件可以直接賦值給父類物件 子類物件可以直接初始化父類物件 父類指標可以直接指向子類物件 父類引用可以直接引用子類物件 子類是就是特殊的父類!class child public parent int main int argc,char argv ...