#include <iostream> using namespace std; class point { public: point(int xx = 0,int yy = 0){//如果構造函數里沒有初始值傳進來,默認xx = 0,yy =0 x = xx,y = yy; } point(point &p); int getx(){ return x; } int gety(){ return y; } private: int x,y; }; point::point(point &p) { x = p.x; y = p.y; } void f(point p) { cout << p.getx() << endl; } point ff() { point c(3,4); return c; } int main(){ point a(1,2); point b(a);//point b = a;1.用類的一個對象去初始化該類的另一個對象 cout << b.getx() << endl; f(a);//2.當類的一個對象作為函數的實參時,調用復制構造函數 b = ff(); cout << b.gety() << endl;//3.當函數的返回值為類類型時,調用復制構造函數 return 0; }