运算符重载
#include <iostream>using namespace std;class Per{friend bool operator<(const Per &l, const Per &r);friend const Per operator+(const Per &L,const Per &R);friend Per &operator-=(Per &l , const Per &r);
private:int a;int b;
public:Per(){}Per(int a , int b):a(a),b(b){}const Per operator-(const Per &p)const{Per temp;temp.a = a - p.a;temp.b = b - p.b;return temp;}bool operator>(const Per &p)const{if(a > p.a && b > p.b)return true;elsereturn false;}Per &operator+=(const Per &p){a += p.a;b += p.b;return *this;}bool operator==(const Per &p)const{if(a == p.a && b == p.b)return true;elsereturn false;}void show(){cout << "a = " << a << "\tb = " << 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;
}
bool operator<(const Per &l, const Per &r){if(l.a < r.a && l.b < r.b)return true;elsereturn false;
}
Per &operator-=(Per &l , const Per &r){l.a -= r.a;l.b -= r.b;return l;
}
int main()
{Per p1(30,50);Per p2(30,40);
// Per p3 = p1 + p2;
// p3.show();
// p3 = p2 - p1;
// p3.show();
// if(p1 < p2)
// cout << "p1 < p2" << endl;
// else if(p1 > p2)
// cout << "p1 > p2" << endl;
// else if(p1 == p2)
// cout << "p1 == p2" << endl;
// cout << (p1 > p2) << endl;
// cout << (p1 < p2) << endl;
// cout << (p1 == p2) << endl;p1+=p2;p1.show();p2-=p1;p2.show();return 0;
}