构造函数和复制构造函数的调用时机
来源:互联网 发布:生活中的帅哥知乎 编辑:程序博客网 时间:2024/05/29 13:44
关于构造函数和复制构造函数以及重载的复制操作何时会被调用,我做了一个小例子来进行测试。
#include <iostream>using namespace std;class AAA{public: AAA() { cout<<"constrctor"<<endl; } AAA(const AAA & a) { cout<<"copy constrctor"<<endl; } AAA(int i) { cout<<"paramter constrctor"<<endl; } AAA& operator =(const AAA & a) { cout<<"copy function"<<endl; return *this; }};int main(){ cout<<"a1:"; AAA a1(3); cout<<"a2:"; AAA a2 = AAA(4); cout<<"a3:"; AAA a3=AAA(); cout<<"a4:"; AAA a4(a2); cout<<"a5:"; AAA a5; a5=a3; cout<<"a6:"; AAA a6=a5; cout<<"a7:"; AAA *a7=new AAA(1); cout<<"a8:"; AAA *a8=new AAA(); return 0;}
由此可以看出几点:
1、AAA a();
和AAA a=AAA();
是完全等价的(当然AAA a(1);
和AAA a=AAA(1);
也是相同的);
2、对于 AAA a5;
AAA a6=a5;
这种操作,实际上是等价于AAA a6(a5);
,实际上是会调用复制构造函数。
3、使用new方法时返回的是一个指针。
阅读全文
0 0
- 构造函数和复制构造函数的调用时机
- 关于复制构造函数的调用时机
- 构造函数以及复制控制操作的调用时机
- c++ 构造函数,复制构造函数,赋值构造函数,析构函数调用时机
- 拷贝构造函数调用的时机
- 全局对象构造函数的调用时机
- 拷贝构造函数被调用的时机
- c++拷贝构造函数的调用时机
- 拷贝构造函数被调用的时机
- 调用拷贝构造函数的时机
- 构造函数的调用时机/次数
- 拷贝构造函数被调用的时机
- 拷贝构造函数被调用的时机
- 拷贝构造函数的调用时机
- copy构造函数的调用时机1和2
- 拷贝构造函数调用时机
- 复制构造函数的调用
- C++基础篇之 复制构造函数调用时机
- RedHat7 LVM分区方案实现挂载点无缝扩容
- LeetCode#169 Majority Element
- React Doc 简单摘要 (一)
- matlab已知数据使用不同颜色线条画图
- Java8学习总结
- 构造函数和复制构造函数的调用时机
- 开启Spring注解减少XML配置
- 抽象 abstract extends
- Date和String格式互转
- uLua 热更新 创建界面之后按钮点击事件问题
- 挑战程序竞赛系列(59):4.6树上的分治法(2)
- MongoDB serverStatus.globalLock 深入解析
- Spring与SpringMVC整合,以及实现数据库数据的增删查改和分页操作
- VS2017编译DirectX11的Effect框架时,出现C2323错误