您的位置:首页 > 其它

第十天 构造函数,拷贝构造函数,析构函数的调用

2016-08-14 13:37 225 查看
碰到这三种函数的调用总是头昏,就在VS上写了代码实测一下:

#include <iostream>
using namespace std;

class Myclass
{
public:
Myclass()
{
cout << "1";
}
Myclass(Myclass &temp)
{
cout << "2";
}
Myclass& operator= (Myclass temp)
{
cout << "3";
return *this;
}
~Myclass()
{
cout << "4";
}
};

int main()
{
Myclass a1, *a2;
cout << endl;
Myclass a3;
a1 = a3;
cout << endl;
Myclass &a4 = a1;
cout << endl;
Myclass a5 = a1;
cout << endl;
return 0;
}

 结果:



分析:

一、对于单纯声明类指针并不调用构造函数。

二、在非初始化情况下使用等号,内部操作依次为:1.对右值构造临时类对象,这里是拷贝构造函数;2.调用"="操作符;3.析构临时类对象。

三、如果是初始化用等号,直接调用拷贝构造函数即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐