如何正确的写自定义类的小于操作符使其能适用map

SendDlgItem 2009-03-01 09:37:08
如题··
当自定义类中有一个成员变量时怎么写?
当自定义类中有两个成员变量时又如何写??
...全文
145 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hai040 2009-03-02
  • 打赏
  • 举报
回复
ls都说了要看你的规则

比如一个物体有大小和重量两个属性
那你是要按大小排序还是按重量排序
还是先按大小排,大小相等的再按重量排
还可以按密度排

你要先确定规则才能写函数
SendDlgItem 2009-03-02
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 deg936 的回复:]
楼主是想让存在map里的元素排序吗? 噢~~,如果是的话,我想你没理解map的用途。
[/Quote]
我不是想让map里面的元素排序,我是想问大家如何正确的写自定义类型的重载小于操作符··
deg936 2009-03-01
  • 打赏
  • 举报
回复
楼主是想让存在map里的元素排序吗? 噢~~,如果是的话,我想你没理解map的用途。
qixuenaner 2009-03-01
  • 打赏
  • 举报
回复
学习下
hmsuccess 2009-03-01
  • 打赏
  • 举报
回复
那要看你的排序策略了,
如,map中的key是MyClass,那么就要定义
bool operator<(const MyClass& _my)
{
if(this->XX<_my.XX)
return true;
else
return false;
}
SendDlgItem 2009-03-01
  • 打赏
  • 举报
回复
那如果两个成员变量呢··
pengzhixi 2009-03-01
  • 打赏
  • 举报
回复
把你的小于规则贴出来啊
deg936 2009-03-01
  • 打赏
  • 举报
回复
class A
{
private:
int a;
int b;

public:
bool operator<( const A& rh ) const;
};

bool A::operator<( const A& rh)
{
return a < rh.a ;
}
SendDlgItem 2009-03-01
  • 打赏
  • 举报
回复
我的意思是写重载小于操作符··
  • 打赏
  • 举报
回复
自定义类中有两个成员变量
2个成员,你先告诉我判断小于的规则先。

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧