#include <iostream>using namespace std;
class Per
{
private:friend const Per operator-(const Per &L,const Per &R);int a;int b;
public:Per(){cout<<"无参构造"<<endl;}Per(int a,int b):a(a),b(b){cout<<"有参构造"<<endl;}//运算符重载函数:成员函数版本实现const Per operator+(const Per &R)const{Per temp;temp.a=a+R.a;temp.b=b+R.b;return temp;}void show(){cout<<"a="<<a<<" b="<<b<<endl;}
};//运算符重载函数:全局函数版本实现
const Per operator-(const Per &L,const Per &R)
{Per temp;temp.a=L.a-R.a;temp.b=L.b-R.b;return temp;
}int main()
{Per p1(5,8);Per p2(2,3);Per p3=p1+p2;//运算符重载函数:成员函数版本实现p3.show();Per p4=p1-p2;//运算符重载函数:全局函数版本实现p4.show();return 0;
}
运行结果: