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