1010hw

1010hw_第1张图片

using namespace std;
class Per
{
    friend const Per operator-(const Per &L,const Per &R);
    friend bool operator<(const Per &L,const Per &R);
    int a;
    int b;
public:
    //有参构造
    Per(int a,int b):a(a),b(b)
    {

    }
    //无参构造
    Per(){}
    //+运算符重载
    const Per operator+(const Per &p) const
    {
        Per temp;
        temp.a=a+p.a;
        temp.b=b+p.b;
        return temp;
    }
    //*运算符重载
    const Per operator*(const Per &p) const
    {
        Per temp;
        temp.a=a*p.a;
        temp.b=b*p.b;
        return temp;
    }
    //  /运算符重载
    const Per operator/(const Per &p) const
    {
        Per temp;
        temp.a=a/p.a;
        temp.b=b/p.b;
        return temp;
    }
    //%运算符重载
    const Per operator%(const Per &p) const
    {
        Per temp;
        temp.a=a%p.a;
        temp.b=b%p.b;
        return temp;
    }
    //+=重载
    Per &operator+=(const Per &p)
    {
        a+=p.a;
        b+=p.b;
        return *this;
    }
    //-=重载
    Per &operator-=(const Per &p)
    {
        a-=p.a;
        b-=p.b;
        return *this;
    }
    //*=重载
    Per &operator*=(const Per &p)
    {
        a*=p.a;
        b*=p.b;
        return *this;
    }
    //  /=重载
    Per &operator/=(const Per &p)
    {
        a/=p.a;
        b/=p.b;
        return *this;
    }
    //%=重载
    Per &operator%=(const Per &p)
    {
        a%=p.a;
        b%=p.b;
        return *this;
    }
    //>重载
    bool operator>(const Per &p)
    {
        if(a>p.a&&b>p.b)
        {
            return true;
        }
        else
            return false;
    }
    //>=重载
    bool operator>=(const Per &p)
    {
        if(a>=p.a&&b>=p.b)
        {
            return true;
        }
        else
            return false;
    }
    //<=重载
    bool operator<=(const Per &p)
    {
        if(a<=p.a&&b<=p.b)
        {
            return true;
        }
        else
            return false;
    }
    //==重载
    bool operator==(const Per &p)
    {
        if(a==p.a&&b==p.b)
        {
            return true;
        }
        else
            return false;
    }
    //!=重载
    bool operator!=(const Per &p)
    {
        if(a!=p.a&&b!=p.b)
        {
            return true;
        }
        else
            return false;
    }
    void show()
    {
        cout << a << b << endl;
    }
};
//<重载
bool operator<(const Per &L,const Per &R)
{
    if(L.a

你可能感兴趣的:(算法)