#include <iostream>
#include <vector>
using namespace std;
class point;
point operator + (point p1,point p2);
ostream & operator << (ostream &out,point &p);
class point
{
public:
point(int a,int b=10)
{
x=a;
y=b;
}
friend point operator + (point p1,point p2);
friend ostream & operator << (ostream &out,point &p);
private:
int x;
int y;
};
point operator + (point p1,point p2)
{
return point(p1.x+p2.x,p1.y+p2.y);
}
ostream & operator << (ostream &out,point &p)
{
cout<<p.x<<'\0'<<p.y;
return out;
}
int main()
{
point p1(2,3),p2(4,5);
point p=p1+p2;
p=p1+2; //这里会做自动类型转换,调用类型转换函数或者构造函数 给跪了
cout<<p<<endl;
return 0;
}