在下面的代碼中,我想知道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是的,這是正確的。但我不確定這是否是一個好主意。 –