首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

以结构体为元素的set的自定义排序规则解决思路

2012-03-11 
以结构体为元素的set的自定义排序规则这个是我抄的struct Info{int math//数学成绩int english//英语成

以结构体为元素的set的自定义排序规则
这个是我抄的
struct Info
{
  int math; //数学成绩
  int english; //英语成绩
  bool operator < (const Info &a) const
  {
  return a.math<math;
  }
}
这应该是一个按数学成绩由高到底排列的,谁能说说重载“<”底是个什么意思,里面的&a是什么,返回了什么?
还有我想做一个排序,就是数学成绩由高到低,如果数学成绩相等,按英语成绩排,我按照上面的样子写的
  bool operator < (const Info &a) const
  {
  if(a.math!=a)return a.math<math;
  else
  return a.english<englishi;
  }
这样行不行?

[解决办法]
重载“<”是重载小于操作符,const Info &a 是引用,是传入参数,有const限制,不能修改
[解决办法]
注意下逻辑

C/C++ code
bool operator < (const Info &a) const{    if(a.math!=a)        return math<a.match;    else        return englishi<a.english;} 

热点排行