こんばんは専門家と教祖!!
以下を記録する配列オブジェクトがあります。
これは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
すべての助けとガイドをありがとう!