用示例来说明如何重载运算符
定义了一个叫做点的结构体,通过重载运算符,可以执行点的加法和输出。
#include<iostream>
using namespace std;
struct point
{
int x, y;
point(int a=0, int b=0) //构造函数
{
x = a;
y = b;
}
};
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<<")";
}
int main()
{
point p1, p2(3, 5);
p1.x = 1;
cout<<p1+p2<<endl;
cout<<p1;
return 0;
}