您的位置:首页 > 运维架构

某些容易产生"invalid operator <"的情况

2015-11-17 11:54 393 查看
程序中某些类成员不能直接operator <,重载运算符的时候容易出现一些错误写法

class A
{
int a,b;
operator < (int rhs) {
return (a < rhs.a || b < rhs.b);
}
}


但是这样写就犯了 left < right && right < left 问题,修正方案

class A
{
int a,b;
operator < (int rhs) {
if (a < rhs.a) {
return true;
}
if (a > rhs.a) {
return false;
}
if (b < rhs.b) {
return true;
}
return false;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: