父類建構函式在子類中的呼叫方式
顯示呼叫
父類建構函式的呼叫
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()
執行結果如下:
parent()
child()
parent(string s) : cc
child(string s) : cc
物件建立時建構函式的呼叫順序
呼叫父類
的建構函式
呼叫成員變數
的建構函式
呼叫類自身
的建構函式
口訣:先父母
,後客人
,再自己
舉個例子:
#include
#include
using
namespace
std;
class object
};class parent : public object
parent(string s) : object(s)
};class child : public parent
//這裡先呼叫parent(s) 父類的帶參建構函式
//再分別呼叫成員變數 m01 m02 的帶參建構函式
//最後呼叫自身的 帶參建構函式
child(string s) : parent(s), mo1(s + " 1"), mo2(s + " 2")
};int main()
執行結果如下:
object(string s) : cc
parent(string s) : cc
object(string s) : cc 1
object(string s) : cc 2
child(string s) : cc
舉個例子:
#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()
執行結果如下:
object(string s) : cc
parent(string s) : cc
object(string s) : cc 1
object(string s) : cc 2
child(string s) : cc
~child() cc
~object() : cc 2
~object() : cc 1
~parent() : cc
~object() : cc
C 繼承與構造析構
include 子類物件可以當作父類物件使用 子類物件可以直接賦值給父類物件 子類物件可以直接初始化父類物件 父類指標可以直接指向子類物件 父類引用可以直接引用子類物件 子類物件構造時,需要呼叫父類建構函式對其繼承得來的成員進行初始化 子類物件析構時,需要呼叫父類析構函式對其繼承得來的成員進行清理 ...
C 繼承的構造與析構
父類建構函式在子類中的呼叫方式 顯示呼叫 父類建構函式的呼叫 class child public parent 顯示呼叫 child string s parent parameter to parent 舉個例子 include include using namespace std class...
繼承的構造與析構
子類物件在構造時,先呼叫父類的建構函式,然後再呼叫自己的建構函式,析構順序相反。看下測試 include include using namespace std class grandparent public grandparent cout 輸出結果如下 結果很明顯了,子類構造時,先呼叫父親的建...