私は、異なる原子(名前、記号、質量など)に関する情報を含む約20行の.datファイルを読み込んで追加できるプログラムを作成しました私はAtomと呼ばれるクラス型のベクトルにすべてを渡しました。ベクトルに格納されたクラスオブジェクトのプライベートメンバ変数の比較 - C++
質量が最大の原子を見つける関数を書くにはどうすればよいですか?私はアトムを見つける関数を記述することができるようにしたい
class Atom
{
string element, symbol;
float number;
float mass;
public:
Atom(string e, string s, float n, float m){
element = e; symbol = s; number = n; mass = m;
}
string getElement();
string getSymbol();
float getNumber();
float getMass();
float ratio();
friend ostream& operator<<(ostream& os, Atom c);
};
情報は、次の文
ifstream fin("atoms.dat");
string E, S;
float M, N;
vector <Atom> periodic;
while(!fin.eof()){
fin >> E >> S >> M >> N;
Atom Atom(E, S, M, N);
periodic.push_back(Atom);
}
をベクトルに追加されます。ここでは
は私のクラスであります最高の質量を持っている、私はmax_element関数を使用してみましたが、私はエラーを取得し続けます。ベクトルに格納されたクラスオブジェクトのメンバ変数を簡単に比較する方法はありますか?
私は現在、コースに必要なC++ 98を使用しています。
おかげ
ここでは、http:// fusharblogという素晴らしいブログです。com/3-ways-to-define-comparison-functions-in-cpp/ – NathanOliver
max_elementを使った方法があなたの質問の鍵です。なぜあなたはそれをそれから離しましたか? – DeiDei
「私はmax_elementを使ってみました。」次に、あなたが書いたことを示して、正しい使い方を説明することができます。そうでなければ、ちょうど見て[ここ](http://en.cppreference.com/w/cpp/algorithm/max_element)。 – kebs