以下のコードでは、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 に ?
ありがとうございました。