c++类的成员变量的初始化顺序
来源:互联网 发布:好用的c语言编译器 编辑:程序博客网 时间:2024/05/29 19:40
程序员面试宝典有一道题如下,由这道题,我查了很多关于成员变量初始化顺序的问题,以下是找的一些资料的总结,但可能会有很多错误的地方!!!
#include<iostream>using namespace std;class T{ public: T(int a):y(a),x(y){;} int x; int y;};int main(){ T t1(1); cout<<t1.x<<endl<<t1.y<<endl; return 0;}
程序使用g++编译器输出的结果为,x为随机数,y为1,在使用初始化列表进行成员变量初始化时,是按照声明顺序进行的,首先进行x的初始化,但x的值不知为多少(因为此时y的值还没有确定),因此x就被赋予一个随机值,而后对y进行初始化,其值就变成1.
以下几种情况需要使用初始化列表进行成员变量的初始化
(1)初始化const成员
(2)初始化应用成员
(3)调用基类的构造函数,而它拥有一组参数
(4)调用成员类的构造函数,而它拥有一组参数
0 0
- Java类成员变量的初始化顺序
- java类成员变量的初始化顺序
- Java类成员变量的初始化顺序
- 成员变量的初始化顺序
- Java类成员变量、普通成员变量、初始化块、构造方法的初始化和执行顺序
- Java类成员变量、普通成员变量、初始化块、构造方法的初始化和执行顺序
- Java类成员变量、普通成员变量、初始化块、构造方法的初始化和执行顺序
- Java类成员变量、普通成员变量、初始化块、构造方法的初始化和执行顺序
- Java类成员变量、普通成员变量、初始化块、构造方法的初始化和执行顺序
- Java类成员变量、普通成员变量、初始化块、构造方法的初始化和执行顺序
- Java类成员变量、普通成员变量、初始化块、构造方法的初始化和执行顺序
- Java类成员变量、普通成员变量、初始化块、构造方法的初始化和执行顺序
- Java类成员变量、普通成员变量、初始化块、构造方法的初始化和执行顺序
- Java类成员变量、普通成员变量、初始化块、构造方法的初始化和执行顺序
- c++中成员变量的初始化顺序
- java成员变量的初始化顺序
- C++成员变量的初始化顺序问题
- C++成员变量的初始化顺序问题
- 使用 FileSystem JAVA API 对 HDFS 进行读、写、删除等操作
- HDU 5387 Clock
- iOS开发 -- iPhone手机屏幕尺寸
- android常用组件之TextView组件
- 欢迎使用CSDN-markdown编辑器
- c++类的成员变量的初始化顺序
- Robberies(2955)
- 你的代码很烂
- hadoop1.2.1集群增加datanode节点
- Laravel每日一记
- HTML5简介
- 没有永不过时的解决方案
- iGrimace IG 1.44 V3 正版苹果ios 陌陌微信遇见Uber 优步 积分墙 igrimac3.0.0高级版
- 黑马程序员——多线程1