为什么重载运算符的函数要用const
比如说重载 > < 我先声明重载 > 号的函数 然后直接在类中内联重载<号的 函数 这个函数中用到>
如果>号重载函数声明为const 则没问题 但是不声明为const 就会报错 报错内容就如没有重载直接用>去比较两个对象一样
还有另外一个问题 就是重载 == 和 != 和上面的一样重载==函数先声明 !=重载函数直接内联 但是这次 声明==重载函数就不需要为const 了 为什么
以下是代码
bool operator==(const RationalNumber &);
bool operator<(const RationalNumber &)const;
bool operator>(const RationalNumber &ration)
{
return (ration < *this);
}
bool operator!=(const RationalNumber &ration)
{
return !(*this == ration);
}