当一个类组合了其他类,或者使用了 const 成员,就要用 初始化列表。

Class A {...};
Class B {...};
Class C {
private:
   A a;
   B b;
   int c;
   const int d;
public:
   C(): a(), b(), d(0)
   {}
};

需要注意两点:

类的构造顺序,先构造组合的类对象,再是自己。

构造函数执行顺序是变量定义顺序。

C++ 基础 初始化列表的更多相关文章

  1. C++基础 (3) 第三天 构造函数 构造函数初始化列表 拷贝构造函数 析构函数 静态成员变量

    // 同类之间无私处 2构造函数 3析构函数 4构造函数的种类和析构函数的顺序 结论:析构函数的调用顺序,跟对象的构造顺序相反,谁先构造,谁最后一个被析构. 拷贝构造函数: 注意: 等号写在下面和写在 ...

  2. 个人学习记录-Cpp基础-成员初始化列表

    Translator     Translator     参考链接: https://blog.csdn.net/XIONGXING_xx/article/details/115553291http ...

  3. C++中使用初始化列表的情况

    http://blog.csdn.net/iceshirley/article/details/5688696 要理解这个问题,从概念上,我们要知道一点,那就是构造函数的执行过程会分成两个阶段:隐式或 ...

  4. 1.进入debug模式(基础知识列表)

    1.进入debug模式(基础知识列表)1.设置断点 2.启动servers端的debug模式 3.运行程序,在后台遇到断点时,进入debug调试状态 ========================= ...

  5. C++使用初始化列表的方式来初始化字段

    几个月之前,接触Android recovery源代码的时候,看ScreenRecoveryUI类的时候,那时候C++基础还不是特别好,一直不明白以下的初始化方式: 下面这个是Recovery的一个构 ...

  6. C++初始化列表各情况分析

    今天回顾了下C++初始化列表的知识,接下来我对这一知识作一总结. 我们在定义了一个类的时候,需要对类的成员进行初始化.关于初始化,有两种方法,一种在初始化列表中进行,另一种就是在构造函数中进行,对于这 ...

  7. <四>构造函数初始化列表

    示例代码1 点击查看代码 class CDate{ public: CDate(int _year,int _month, int _day){ this->year=_year; this-& ...

  8. C++11新特性——初始化列表 initializer_list

    破事水: 由于最近数据结构有个实验报告说是要对字符串进行排序,想偷个懒不想一个一个地赋值,虽然可以用strcpy和传入二级指针的形式直接写,但是这样感觉不美观漂亮. 然后就去膜了一下C++11的新特性 ...

  9. C++初始化列表

    C++初始化列表 定义一个类对象时,常常使用初始化列表实例化一个对象,在进入构造函数函数体之前对成员变量完成初始化操作.普通成员变量既可以在初始化中初始化,也可以在函数体重赋值:const成员变量只能 ...

随机推荐

  1. FTPUtil 多文件上传参考代码

    import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java ...

  2. 【起航计划 020】2015 起航计划 Android APIDemo的魔鬼步伐 19 App->Dialog Dialog样式

    这个例子的主Activity定义在AlertDialogSamples.java 主要用来介绍类AlertDialog的用法,AlertDialog提供的功能是多样的: 显示消息给用户,并可提供一到三 ...

  3. constrained属性

    hibernate文档上是这么写的: constrained(约束) (可选) 表明该类对应的表对应的数据库表,和被关联的对象所对应的数据库表之间,通过一个外键引用对主键进行约束.这个选项影响save ...

  4. DVB数字电视常见信号指标解释

    1. 平均功率与峰值电平       峰值电平在模拟电视广播时用于表征频道信号电平强弱. 模拟电视信号是单极性.不对称的,即电视信号有一个固定黑色参考电平,比黑色亮的信号处在黑色电平线一边,同步脉冲处 ...

  5. sqlalchemy使用tip

    https://docs.sqlalchemy.org/en/latest/orm/tutorial.html http://docs.sqlalchemy.org/en/latest/core/sq ...

  6. jupyter notebook 报错 ImportError: No module named matplotlib

    解决办法: 打开Anaconda Prompt  列出conda环境: conda info --envs 结果显示: # conda environments: # tensorflow * D:\ ...

  7. 来自NVIDIA开源的pix2pixHD,将Image-to-Image Translation带到了另一个境界

    Kuo Ming Lin 分享了 Learning By Hacking 的动图 最近討論最火熱的project之一,來自NVIDIA開源的pix2pixHD,將Image-to-Image Tran ...

  8. BZOJ 4679/Hdu5331 Simple Problem LCT or 树链剖分

    4679: Hdu5331 Simple Problem 题意: 考场上,看到这道题就让我想起BZOJ4712洪水.然后思路就被带着飞起了,完全没去考虑一条链的情况,于是GG. 解法:先考虑一条链的做 ...

  9. Leetcode back(215) to be continue

    solution discussion https://leetcode.com/problems/kth-largest-element-in-an-array/description/ -- 21 ...

  10. 【CCPC-Wannafly Winter Camp Day4 (Div1) F】小小马(分类讨论)

    点此看题面 大致题意: 给你一张\(n*m\)的棋盘,问你一匹马在两个点中是否存在一条经过黑白格子数目相等的路径. 简化题目 首先,我们来简化一下题目. 考虑到马每次走的时候,所经过的格子的颜色必然发 ...