在下面的代码中,我想知道operator * overloadind在这里执行的操作。重载运算符*
// struct pointer to Shape
struct PtrToShape
{
Shape *ptr;
bool operator < (const PTRToShape & rhs) const
{ return *ptr < *rhs.ptr; }
const Shape & operator*() const
{ return *ptr; }
};
它会超载吗?它是否会重载结构或形状对象的*运算符?这是超载使用:
return *ptr < *rhs.ptr
而在我前面提到的*(重载或不)是指什么? rhs还是rhs.ptr?
谢谢。
因此,如果我得到它的权利* rhs会返回相同的* rhs.ptr现在运算符重载为该结构的权利? – Mppl
@ user611295是的,这是正确的。但我不确定这是否是一个好主意。 –