分享

Android Binder 之不懂:C++ 构造函数后加冒号

 LVADDIE 2014-10-18

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

其实冒号后的内容是初始化成员列表,一般有三种情况:

1、对含有对象成员的对象进行初始化,例如,类line有两个私有对象成员startpoint、endpoint,line的构造函数写成:

1
line(int sx,int sy,int ex,int ey):startpoint(sx,sy),endpoint(ex,ey){……}

初始化时按照类定义中对象成员的顺序分别调用各自对象的构造函数,再执行自己的构造函数

2、对于不含对象成员的对象,初始化时也可以套用上面的格式,例如,类rectangle有两个数据成员length、width,其构造函数写成:

1
2
rectangle():length(1),width(2){}
rectangle(int x,int y):length(x),width(y){}

3、对父类进行初始化,例如,

1
2
<!-- lang: cpp -->
CDlgCalcDlg(CWnd* pParent ): CDialog(CDlgCalcDlg::IDD, pParent)

其中IDD是一个枚举元素,标志对话框模板的ID,使用初始化成员列表对对象进行初始化,有时是必须的,有时是出于提高效率的考虑

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多