运算符重载<

Operator overloading <

本文关键字:lt 重载 运算符      更新时间:2023-10-16

我正在尝试验证第一个对象是否比第二个对象小。我收到错误消息,第一个是areaCircle is not a type.

bool Circle::operator < (const Circle & pc) const
{
    return *this.areaCircle(getradius) < pc.areaCircle(getradius) ? true : false;   
}

这是我的面积圆函数

float areaCircle(float radius){return( radius*radius*3.1416);}
.优先

*。你想要->.

return this->areaCircle(getradius) < pc.areaCircle(getradius) ? true : false;

或者干脆省略this->(这是隐式的)。


此外,由于areaCircle函数不依赖于对象的状态,因此应考虑将其设置为静态成员函数或自由函数。