初始化列表和建構函式

2021-07-03 23:43:23 字數 822 閱讀 7659

const的資料成員和需要用初始化列表,不能用普通的建構函式體內部進行初始化,這稱為常資料成員。

const  有常引用,常物件,常資料成員,常成員函式

棧區:記憶體由系統來分配和釋放

堆區:記憶體由程式設計師自己來分配和釋放的

全域性區常量區

**區:方法

建構函式與類同名

建構函式沒有返回值

建構函式可以進行過載

當使用者沒有定義建構函式時,編譯器自動生成乙個建構函式

初始化列表先於建構函式執行,,初始化列表只能用於建構函式

初始化列表可以同時初始化多個資料成員

推薦使用初始化列表。

初始化列表和建構函式的區別

什麼是預設建構函式?

就是無參的建構函式

.h檔案

teacher(string name = "james",int age = 1);/只在宣告的時候寫預設值

而在定義建構函式時候不用寫預設值即:

.cpp檔案

teacher::teacher(string name, int age)

初始化列表

teacher::teacher(string name,int age):m_strname(name),m_iage(age)

main函式呼叫

teacher t1;

teacher t2("merry",13);

const的資料成員需要用初始化列表,不能用普通的建構函式體內部進行初始化。

建構函式初始化列表和初始化函式

其實並沒有所謂的初始化函式的概念,本文中的初始化函式只是說明在函式體內進行賦值。而初始化列表才是真正意義上的物件初始化。使用初始化列表效率會高一點。c 規定,物件的成員變數的初始化動作發生在進入建構函式本體之前。在建構函式體內只是賦值,並不是初始化。請看下面這個栗子 class base publi...

建構函式初始化列表

建構函式初始化列表以乙個冒號開始,接著是以逗號分隔的資料成員列表,每個資料成員後面跟乙個放在括號中的初始化式。例如 example example ival 0 dval 0.0 ival 和dval 是類的兩個資料成員 上面的例子和下面不用初始化列表的建構函式看似沒什麼區別 example exa...

建構函式初始化列表

c 程式語言中有很多比較重要的概念值得我們去深入 比如今天為大家介紹的有關c 建構函式的相關概念。這一方面的知識在實際程式設計中就是乙個比較重要的應用技術。希望能個大家可以從中學到一些知識。c 建構函式初始化列表以乙個冒號開始,接著是以逗號分隔的資料成員列表,每個資料成員後面跟乙個放在括號中的初始化...