c++primer之类(构造函数再探)
来源:互联网 发布:淘宝怎么弄全球购图标 编辑:程序博客网 时间:2024/05/22 17:09
构造函数的初始值有时必不可少
- 有时候我们可以忽略数据成员初始化和赋值之间的差异,但并非总能这样。(只看这几话不好理解,下面会举个例子),如果成员是const或者是引用的话,必须将其初始化。(否则会出现错误)类似的,当成员属于某种类类型且该类没有定义默认构造函数时,也必须将这个成员初始化。
class ConstRef { public: ConstRef(int i); private: int i; const int ci; int &ri; }; // 错误,ci和ri必须被初始化 ConstRef::ConstRef(int ii) {// 赋值 i= ii; //正确 ci = ii; // 错误,不能给const赋值 ri = i; // ri没有被初始化 } // 正确的初始化方式,这也显示了赋值和初始化的差异 ConstRef::ConstRef(int ii): i(ii), ci(ii), ri(ii) { }
注意: 如果成员是const、引用,或者属于某种未提供默认构造函数的类类型,我们必须通过构造函数的初始值列表为这些成员提供初值。
0 0
- c++primer之类(构造函数再探)
- 【足迹C++primer】19、构造函数再探
- C++primer难点之类
- c++primer 3/7---构造函数
- c++primer 3/12----复制构造函数
- 【C++Primer】封装_拷贝构造函数
- c++primer之类(类的静态成员)
- c++之类的构造函数
- C++之类与构造函数
- 细嚼慢咽C++primer(4)——类(1):构造函数,类型别名
- 【C++Primer】构造函数_初始化列表编码
- C++学习笔记之类的构造函数
- c++基础之类的构造函数
- 学习C++(1)之类的拷贝构造
- c++primer(5th)13章 Message与Folder类示例中 Message移动构造函数的添加
- JAVA之类,构造函数和构造代码块
- 《C++ Primer》读书笔记第七章-3-构造函数再探 And 类的静态成员
- C++函数之类的构造函数析构函数
- Mac下命令行编译和调试:llvm, clang / lldb
- Lecture 2: Learning to Answer Yes/No(学会回答是非)
- hdu4549M斐波那契数列 矩阵快速幂 + 费马小定理
- Linux kill命令
- SQL审核自动化
- c++primer之类(构造函数再探)
- 迭代器模式(五):JDK内置迭代器的使用
- hdoj 3746 Cyclic Nacklace 【kmp(len%(len-p[len])公式的灵活运用)】
- python脚本
- OC05_内存管理
- 【java基础】内存分析
- 开通博客第一天
- Lock
- 【匈牙利算法模板】