在C++中用一个对象去初始另一个对象时会调用拷贝构造函数。
在拷贝时候,会分为深浅拷贝,今天我就这两个问题来写一点我自己的理解。
创建一个类,并用类的对象去初始化另一个类。 代码如下:
#include <iostream>
using namespace std;
class A
{
private:
int a;
int b;
public:
A(int a1 = 0, int b1 = 0) :a(a1), b(b1)
{}
void show()
{
cout << a << endl;
cout << b << endl;
}
};
int main()
{
A aa(1,3);
A bb = aa;
bb.show();
return 0;
}
答案是 1 和3
这就是浅拷贝。
来总结一下关于 深拷贝与浅拷贝需要知道的基本概念和知识:
(1)什么时候用到拷贝函数?