一、声明复制构造函数
二、定义复制构造函数
说明:如果用户自己未定义复制构造函数,系统会提供一个默认的复制构造函数,其作用只是简单地复制类中每个数据成员。
三、在什么情况被调用
普通构造函数在建立对象时被调用。
复制构造函数在用已有对象复制一个新对象时被调用,在以下三种情况下需要克隆对象:
1.新建一个对象,并用另一个同类对象对它初始化
上面 用对象p1复制出对象p2 也可以用下面形式,二者等价:
test p2=p1;
2.函数的参数为类的对象时。
在调用函数时需要将实参对象完整地传递给形参,也就是需要建立一个实参的拷贝,这就是按实参复制一个形参,系统是通过调用复制构造函数来实现的。