建構函式初始化列表的順序
證明了
1. 先初始化基類再初始化成員,在初始化列表初始類成員是類的,可以減少構造次數
2. 類成員是乙個類是棧方式儲存自動釋放,指標類需手動釋放
//類a
#include "a.h"
a::a(void)
a::a(int x)
a::a(const a& a)
a::~a(void)
//類bass
#include "bass.h"
bass::bass(void)
bass::~bass(void)
//類sub 繼承類bass
class sub:public bass
;#include "sub.h"
sub::sub(void)
sub::sub(a &a):a(1),b(a)
sub::~sub(void)
//主函式類main
void fun()
int main()
輸出結果
create a
==create bass
copy create a(a)
create a(x)
create sub
delete sub
delete a
delete a
delete bass
delete a
C 類建構函式初始化列表和初始化順序
建構函式初始化列表以乙個冒號開始,接著是以逗號分隔的資料成員列表,每個資料成員後面跟乙個放在括號中的初始化式。例如 class cexample 建構函式內部賦值 cexample 上面的例子中兩個建構函式的結果是一樣的。上面的建構函式 使用初始化列表的建構函式 顯式的初始化類的成員 而沒使用初始化...
建構函式初始化列表
建構函式初始化列表以乙個冒號開始,接著是以逗號分隔的資料成員列表,每個資料成員後面跟乙個放在括號中的初始化式。例如 example example ival 0 dval 0.0 ival 和dval 是類的兩個資料成員 上面的例子和下面不用初始化列表的建構函式看似沒什麼區別 example exa...
建構函式初始化列表
c 程式語言中有很多比較重要的概念值得我們去深入 比如今天為大家介紹的有關c 建構函式的相關概念。這一方面的知識在實際程式設計中就是乙個比較重要的應用技術。希望能個大家可以從中學到一些知識。c 建構函式初始化列表以乙個冒號開始,接著是以逗號分隔的資料成員列表,每個資料成員後面跟乙個放在括號中的初始化...