博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++ 构造函数 初始化列表
阅读量:5010 次
发布时间:2019-06-12

本文共 594 字,大约阅读时间需要 1 分钟。

构造函数初始化列表:

1 class CTest 2  3 { 4  5 private : 6  7   int x; 8  9   int y;10 11 public:12 13    CTest()14 15    {16 17         x = 1;18 19         y  =2;20 21    }22 23    CTest():x(1),y(2)24 25   {26 27   }28 29 };
View Code

1. 赋值和初始化的区别:

 I:基本数据类型和复合类型(指针,引用):在初始化列表和 构造函数体内,在性能和结果上都是一致的

 II:自定义类型(类类型): 性能和结果上都存在差别,因为类类型的数据成员对象在进入函数体前已经构造完成,也就是说在成员初始化列表处进行构造对象的工作,

     调用构造函数,在进入函数体之后,进行的是对已经构造好的类对象的赋值,又调用个拷贝赋值操作符才能完成(如果并未提供,则使用编译器提供的默认按成员赋值行为)

2. 初始化列表的初始化顺序: 

    C++初始化类成员时,是按照声明的顺序初始化的,而不是按照出现在初始化列表中的顺序。

    所以 如果使用初始化列表时,应该按照声明的顺序进行罗列,以免产生意想不到的错误。

转载于:https://www.cnblogs.com/hujunjun/p/3244964.html

你可能感兴趣的文章
删除U盘时提示无法停止‘通用卷’设备的解决方法!!不要每次都硬拔了,对电脑有不小的损害!!!...
查看>>
Java中接口与接口和类之间的关系
查看>>
芯片TPS70925
查看>>
linux shell 发送email 附件
查看>>
人群密度估计 CrowdCount
查看>>
京东为什么不会死
查看>>
JSON.parse()和JSON.stringify()
查看>>
.net 常用正则表达式
查看>>
JAVA动态代理机制解析
查看>>
浏览器样式(css)兼容
查看>>
Java泛型中的标记符含义:
查看>>
初遇GitHub
查看>>
[C# 网络编程系列]专题八:P2P编程
查看>>
Jsの练习-数组常用方法 -forEach()
查看>>
动态绑定treeview的方法
查看>>
jvm参数
查看>>
3-1 案例环境初始化
查看>>
读《构建之法》第四章和十七章有感
查看>>
01背包
查看>>
开发一个12306网站要多少钱?技术分析12306合格还是不合格
查看>>