#include<iostream>
using namespace std;
struct point
{
int x,y;
point(int x=0,int y=0):x(x),y(y){} //构造函数初始化成员变量
};
point operator + (const point &a,const point &b)//重载操作符 +
{
return point(a.x+b.x,a.y+b.y);
}
ostream &operator << (ostream &out,const point &p)//重载操作符 <<
{
out<<"("<<p.x<<","<<p.y<<")";
return out;
}
int main()
{
point a,b(1,2);
a.x=3;
cout<<a+b<<endl;
}
代码摘自刘汝佳算法竞赛入门经典(第二版)