Person& operator++(){}为什么能实现++p?ps:p 是Person对象的一个实例

问题相关代码,请勿粘贴截图

Person& operator++(){
++this->num;
return *this;
}

我的解答思路和尝试过的方法

这个成员函数的调用应该是 p.operator++(),不应该简化成p++吗,为什么重载的时候可以实现++p的操作

class Person {
public:
    // ...
    Person& operator++(); // 前缀++,即++p调用这个成员函数
    Person operator++(int); // 后缀++,即p++调用这个成员函数
};

就是++p,p++的话重载需要一个int的参数