拷贝构造函数是每个类里面不可缺少的函数 就像构造函数和析构函数一样
如果你不在类里面加上 那么编译系统也会自动给你加上一个默认的
它的作用是用来把一个类的对象的数据成员复制到另一个相同的类的对象中去
但是他跟“=”又是不一样 =是用来单纯的赋值
而如果你用一个对象去初始化另一个对象时调用的不是=这个运算符 而是拷贝构造函数 如下
class A
{private:
int a;
public:
A();
A(&A);
~A();
};
A a1,a2;
A a3=a1;
第一句调用的是构造函数 第二句调用的是拷贝构造函数 第三句调用的是赋值运算符
拷贝构造函数的调用时机有三个
1.用一个对象去初始化另一个对象时
2.当函数的返回值是对象时 调用去对临时的对象赋值
3.当函数的参数是对象时 调用去对形参进行赋值
讲的还可以吧
绝对不是抄的