#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; }