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