晚上好专家和大师!
我有一个记录以下内容的数组对象..
这是在record.h
Class Record
{
private:
string name;
int data;
float valueData;
public:
bool operator<(const Record&) const;
}
并且构造函数是在record.cpp中创建的
record.cpp 我添加了这个
bool Record::operator<(const Record& rhs) const
{
return valueData < rhs.valueData;
}
在 main.cpp 我创建了大小为 10 的记录数组
#include "record.h"
Record rec[10];
我做了
sort(&rec[0], &rec[2]);
但似乎没有任何变化或排序..我有 3 个元素,rec[0],rec[1],rec[2],我想对它们进行排序,但它们是另一个头文件 record.h 及其 record.cpp 描述以上。
原始问题 接下来是我向对象记录了几个值
现在rec得到了3个索引
rec[0]
name = "jack1"
data = 1
valueData = 20
rec[1]
name = "jack2"
data = 2
valueData = 15
rec[2]
name = "jack3"
data = 3
valueData = 25
我想要实现的是做一个排序,可以通过valueData最高升序形式重新排列这个数组,所以..它将是
rec[2]
然后.. rec[0]
_rec[1]
但我想按类数组对象排序。并将值重新排列在一起,我该如何实现。
3 值是私有的,所以我不确定我在哪里创建排序函数,在 main.cpp 或在 record.cpp ,接下来是我如何对其进行排序以便它可以以下面的方式输出..
-- Highest to lowest --
1) Name: Jack3, Data = 3, Value =25
2) Name: Jack1 , Data =1 , Value = 20
3) Name: Jack2, Data = 2, Value = 15
感谢大家的帮助和指导!!