C++例题分析1 构造函数初始化
2017-06-12 17:46
357 查看
#include using namespace std; class Student { public: Student(int i):age(i), num(i++) { cout<
输出结果11 10
为啥不是10 10呢?
原因如下
1.谁先初始化?
是依照初始化列表的顺序吗?age(i), num(i++);先age,后num?
显然不对;
应当按照类定义时的顺序初始化,先num后age
执行顺序 i值为10,赋给num;
i之后++;
i为11,赋给age
赛码网给出的答案是11 11
我用codeblock跑的是11 10
应该与编译器有关
相关文章推荐
- C/C++—— 在构造函数中调用虚函数能实现多态吗(Vptr指针初始化的过程分析)
- C++中的构造函数初始化列表的使用和分析
- C++构造函数初始化问题的浅分析
- (总结)C++的构造函数(初始化列表,缺省/复制和带默认参数的构造函数)和析构函数详解
- C++ 类构造函数初始化列表的异常机制 function-try block
- C++ 几种对象数组初始化(带参数的构造函数)
- C++第5周任务1-5在构造函数中使用参数初始化表对数据成员初始化。
- c++中构造函数初始化的方法以及主要区别
- C++ 中构造函数对父类及成员对象的初始化时机
- C++课本例题(派生类的构造函数)
- C++ 中使用构造函数初始化列表的原因
- c++ 在子类中向父类的构造函数传递参数的小例子.包括类中常量的初始化
- c++中子对象的初始化可在复合类的构造函数的函数体内进行吗?还是子对象的初始化只能在初始化列表中进行?
- 续:为何说 C++ 构造函数初始化列表异常机制是必要的
- 【转】C++中构造函数初始化
- C/C++ 通过初始化列表和构造函数内赋值初始化成员变量的区别
- 一种编写C++构造函数中初始化列表的格式
- C++ 构造函数初始化列表的好处
- 转载--c++中构造函数初始化的方法以及主要区别
- C++中使用初始化列表比在构造函数中对成员变量赋值更高效