成员初始化列表
来源:互联网 发布:复制文件夹网络共享 编辑:程序博客网 时间:2024/06/09 04:17
#include <iostream>using namespace std;class X{private: int i; int j;public: X(int val):j(val),i(j){ } int geti(){ return i; } int getj(){ return j; }};class Y{private: int i; int j;public: Y(int val):j(val){ i=j; } int geti(){ return i; } int getj(){ return j; }};int main(){ X x=X(5); cout<<x.geti()<<" "<<x.getj()<<endl; Y y=Y(4); cout<<y.geti()<<" "<<y.getj()<<endl; return 0;}
上面程序的输出是
/home/zmx/CLionProjects/zmx/cmake-build-debug/zmx0 54 4Process finished with exit code 0成员初始化列表的顺序和成员的初始化顺序无关,程序按照成员被声明的顺序来初始化相关成员,所以i(j)先执行,但是程序员的意图是先用val初始化j,再用j初始化i.所以这与程序员的意图想违背。
采用如下定义,则能达到目的。
Y(int val):j(val){
i=j;
}
阅读全文
0 0
- 成员初始化列表
- C++成员初始化列表
- 成员初始化列表
- C++ 成员初始化列表
- C++成员初始化列表
- 成员初始化列表
- C++成员初始化列表
- 成员初始化列表
- C++成员初始化列表
- c++初始化成员列表
- 初始化成员列表
- C++初始化成员列表
- C++ 成员初始化列表
- C++初始化成员列表
- 成员初始化列表
- C++成员初始化列表
- C++初始化成员列表
- C++成员初始化列表
- Mysql总结5-mysql优化
- Properties
- POJ 2746 约瑟夫问题
- React学习(二)props属性
- csp ccf输入字符串的坑-2017 9 第三题json字符串处理
- 成员初始化列表
- redis部署和主从配置
- python第一章 基础入门以及一些简单实例
- 公钥,私钥,数字签名,证书
- hdu 4417 主席树
- 3、Tensorflow:TensorFlow深度学习入门(下)
- HashSet,TreeSet,LinkedSet的区别
- python基本数据类型2
- 循环链表