c++中浅拷贝和深拷贝
先看这个例子:
#include<iostream>
using namespace std;
class a
{
public:
a(int m)
{
b=m;
cout<<"class a"<<endl;
}
~a()
{
cout<<"delete class a"<<endl;
}
friend void display(a x)
{
cout<<x.b<<endl;
}
private:
int b;
};
void main()
{
class a a1(3);
display(a1);
system("pause");
}
运行结果为:

图中显示在调用友元函数display(a x)时执行了一次类的析构函数~a();
但是如果把函数display(a& x)后就没有刚才的问题,说明在这个语句中存在着类拷贝过程,
在以后的编程中要注意一下。
浙公网安备 33010602011771号