问题
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;
}