一、思维导图

二、练习
成员函数版本实现算术运算符的重载
全局函数版本实现算术运算符的重载
#include <iostream>
using namespace std;
class Num
{
    friend const Num operator-(const Num &L,const Num &R);
private:
    int a;
    int b;
public:
    //运算符重载
    const Num operator*(const Num &c) const
    {
        Num temp;
        temp.a=a*c.a;
        temp.b=b*c.b;
        return temp;
    }
    //有参构造函数
    Num(int a,int b):a(a),b(b)
    {
    }
    //无参构造函数
    Num() {}
    void show()
    {
        cout << a << endl;
        cout << b << endl;
    }
};
const Num operator-(const Num &L,const Num &R)
{
    Num t;
    t.a=L.a-R.a;
    t.b=L.b-R.b;
    return t;
}
int main()
{
    Num p1(12,3);
    Num p2(4,5);
    Num n=p1*p2;
    n.show();
    n=p1-p2;
    n.show();
    return 0;
} 



















