C++ 構造函數后加冒號


其實冒號后的內容是初始化成員列表,一般有三種情況:
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
使用初始化成員列表對對象進行初始化,有時是必須的,有時是出於提高效率的考慮

 

http://ivan4126.blog.163.com/blog/static/209491092201301534928785/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM