2023.12.01

#include 

using namespace std;

class Pap
{
    friend const Pap operator*(const Pap &L,const Pap &R);
    friend bool operator<(const Pap &L,const Pap &R);
    friend Pap &operator-=(Pap &L,const Pap &R);
private:
    int a;
    int b;
public:
    Pap(){};
    Pap(int a,int b):a(a),b(b)
    {}
//    //成员函数实现*算数运算符
//    const Pap &operator*(const Pap p2)const
//    {
//        Pap temp1;
//        temp1.a = a * p2.a;
//        temp1.b = b * p2.b;
//        return temp1;
//    }
//    //成员函数实现<关系运算符
//    bool operator < (const Pap &R)const
//    {
//        if(a < R.a && b < R.b )
//        {
//            return true;
//        }
//        else
//        {
//            return false;
//        }
//    }
       //成员函数实现-=运算符重载
        Pap &operator*=(const Pap &R)
        {
            a -= R.a;
            b -= R.b;
            return *this;
        }
    void show()
    {
        cout << "a= " <<  a << '\t' << "b= " << b << endl;
    }
};
//全局函数实现*算术运算符
const Pap operator*(const Pap &L,const Pap &R)
{
    Pap temp2;
    temp2.a = L.a * R.a;
    temp2.b = L.b * R.b;
    return temp2;
}
//全局函数实现<号运算符重载
bool operator<(const Pap &L,const Pap &R)
{
    if(L.a < R.a && L.b < R.b)
    {
        return true;
    }
    else
    {
        return false;
    }
}
//全局函数实现-=运算符重载
Pap &operator-=(Pap &L,const Pap &R)
{
    L.a -= R.a;
    L.b -= R.b;
    return L;
}
int main()
{
    Pap p1(10,20);
    Pap p2(2,4);

    Pap p3 = p1 * p2;
    p3.show();

    if(p1 < p3)
    {
        cout << "p1 < p3" << endl;
    }

    Pap p4(10,10);
    p4 -= p1;
    p4.show();
    return 0;
}

2023.12.01_第1张图片

你可能感兴趣的:(c++,算法,开发语言)