其實冒號後的內容是初始化成員列表,一般有三種情況:
1、對含有物件成員的物件進行初始化,
例如,類line有兩個私有物件成員startpoint、endpoint,line的建構函式寫成:
line(int sx,int sy,int ex,int ey):startpoint(sx,sy),endpoint(ex,ey)
初始化時按照類定義中物件成員的順序分別呼叫各自物件的建構函式,再執行自己的建構函式
2、對於不含物件成員的物件,初始化時也可以套用上面的格式,
例如,類rectangle有兩個資料成員length、width,其建構函式寫成:
rectangle():length(1),width(2){}
rectangle(int x,int y):length(x),width(y){}
3、對父類進行初始化,
例如,cdlgcalcdlg的父類是mfc類cdialog,其建構函式寫為:
cdlgcalcdlg(cwnd* pparent ): cdialog(cdlgcalcdlg::idd, pparent)
其中idd是乙個列舉元素,標誌對話方塊模板的id
使用初始化成員列表對物件進行初始化,有時是必須的,有時是出於提高效率的考慮
C 建構函式後面的冒號
建構函式後加冒號是初始化表示式 有四種情況下應該使用初始化表示式來初始化成員 1 初始化const成員 2 初始化引用成員 3 當呼叫基類的建構函式,而它擁有一組引數時 4 當呼叫成員類的建構函式,而它擁有一組引數時。在程式中定義變數並初始化的機制中,有兩種形式,乙個是我們傳統的初始化的形式,即賦值...
C 建構函式後面的冒號
建構函式後加冒號是初始化表示式 有四種情況下應該使用初始化表示式來初始化成員 1 初始化const成員 2 初始化引用成員 3 當呼叫基類的建構函式,而它擁有一組引數時 4 當呼叫成員類的建構函式,而它擁有一組引數時。在程式中定義變數並初始化的機制中,有兩種形式,乙個是我們傳統的初始化的形式,即賦值...
C 建構函式後面的冒號
建構函式後加冒號是初始化表示式 有四種情況下應該使用初始化表示式來初始化成員 1 初始化const成員 2 初始化引用成員 3 當呼叫基類的建構函式,而它擁有一組引數時 4 當呼叫成員類的建構函式,而它擁有一組引數時。在程式中定義變數並初始化的機制中,有兩種形式,乙個是我們傳統的初始化的形式,即賦值...