您的位置:首页 > 编程语言 > C语言/C++

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++