c++如何实现关系运算符==的重载使之可以**连续使用**?

问题

c++如何实现关系运算符==的重载使之可以连续使用
定义一个点类:

class Point
{
private://定义两个数表示一个点的坐标
    float x;
    float y;
public://构造函数
    Point(float x,float y)
    {
        this->x = x;
        this->y = y;
    }
    //重载运算符==(双目)
    Point operator ==(Point p02)
    {
        if (this->x = p02.x && this->y == p02.y)
        {
            return p02;
        }
    }
};

main函数如下:

int main()
{
    //这样写我是可以理解的
     Point p1 = new Point(3,4);
     Point p1 = new Point(3,4);
     Point p1 = new Point(3,4);
    if(p1 == p2)
    {
        cout<<"true"<<endl;
    }
    //但是这样写就会报错
    if(p1 == p2 == p3)
    {
        cout<<"true"<<endl;
    }
    //我知道是因为==返回的bool类型所以报错,但是应该怎么改才可以让这个代码正确运行呢?求助各位
    delete p1;
    delete p2;
    delete p3;
}

修改成如下格式即可:


if(p1 == p2 && p2 == p3)
{
  cout<<"true"<<endl;
}

可以看下cpp参考手册中的 c++-运算符重载