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){}
};