为什么需要复制构造函数?

来源:百度知道 编辑:UC知道 时间:2024/05/27 19:13:53
请高人指点!

比如
int a,b;
a=b编译器知道是把b的值给a;
但是如果
class A
{
int a,b;
};
A m,n;
m=n编译器如何知道要把类里的a,跟b一起给m呢!
所以一般如果你不定义复制构造函数,编译器也会给你合成一个的!

其作用就是将一个对象复制给另外一个新生成的对象。

class A;
A a;
A b = a;//调用拷贝构造函数
b = a;//调用重载的“=”