看不懂一个运算符重载的语句
我碰到这样一个定义:
struct Url
{
int ODid;
SFString urlValue;
Url (int nODid = -1) : ODid (nODid) {}
operator int () const {return ODid;}
Url &operator = (const Url &url)
{
ODid = url.ODid;
urlValue = url.urlValue;
return *this;
}
operator SFString () const { return urlValue; }
bool operator == (const Url &url) const
{
return ODid == url.ODid && urlValue == url.urlValue;
}
bool operator != (const Url &url) const {return !(*this == url);}
}
其中SFString是一个类。
我不明白诸如这样的语句是什么意思:
operator int () const {return ODid;}
operator SFString () const { return urlValue; }