建構函式初始化列表執行順序

2021-08-06 06:02:05 字數 747 閱讀 7571

建構函式初始化列表的順序

證明了

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 建構函式初始化列表以乙個冒號開始,接著是以逗號分隔的資料成員列表,每個資料成員後面跟乙個放在括號中的初始化...