初始化列表:
與其他函式不同,建構函式除了有名字,引數列表和函式體之外,還可以有初始化列表,初始化列表以冒號開頭,後跟一系列以逗號分隔的初始化字段。
class foo
; // 初始化列表
private:
string name ;int id ;
};
從概念上來講,建構函式的執行可以分成兩個階段,
初始化階段
和計算階段
,初始化階段先於計算階段
構造方法:初始化階段
計算階段
如果乙個類base在另乙個類delete中作為乙個 成員進行宣告,則在delete類呼叫構造方法時 的 「初始化階段」 就會呼叫base 的無參構造方法。
另:通過 new 得到的是這個類 的例項 的位址!所以必須要由指標接收!
C 建構函式的繼承問題
一 基類沒有定義建構函式的情況 1 派生類也可以不定義建構函式,全部採用預設的建構函式,此時,派生類新增成員的初始化工作可以用其他公有函式來完成。2 如果只有派生類定義建構函式,只需要構造派生類物件即可,物件的基類部分使用預設建構函式來自動建立 二 基類中存在建構函式 1 基類中存在不帶引數的建構函...
C 建構函式 拷貝建構函式
建構函式 class base private int m var 建構函式無返回值型別,函式名和型別相同。拷貝建構函式傳遞引數為引用。1 class base2 7 拷貝建構函式 8 base base ref m var ref m var 9 11 private 12 intm var 13...
c 中構造函式呼叫另一建構函式的問題
題目如下 問下列 的列印結果為0嗎?include include using namespace std struct cls cls int main 我當時是這樣想的,建構函式就是為物件分配記憶體的過程,其主要目的就是為了對私有變數進行初始化,所以我就想乙個物件不能呼叫 兩次建構函式,即使這兩...