1、当用类的一个对象初始化该类的另一个对象时.例如:
Int main(){
Point A;
Point B(A);//
}
2 如果函数的形参是类的对象,调用函数时,进行形参和实参结合时.
void fun(Point P){
}
int main(){
Point A;
fun(A);//
return 0;
}
3 如果函数的返回值是类的对象,函数执行完成返回调用者时.
Point g(){
Point A;
return A; //
}
int main(){
Point B;
B = g();
}
在这些情况下,我们都需要为class Point实现拷贝构造函数
class Point{
public:
Point(){}
Point(Point &p){}
};