これは面接の質問です。
サンプルコードを参照すると、使用するために演算子の1つをオーバーライドする必要があります
std::set<Value>
#include<iostream>
class Value
{
std::string s_val;
int i_val;
public:
Value(std::string s, int i): s_val(s) , i_val(i){}
};
// EOF
/*
a operator !=
b operator >
c operator <=
d operator >=
e operator <
*/
実際、ここで演算子をオーバーライドする必要がある理由がわかりません。「set」は重複する要素を許可しません。おそらく演算子!=をオーバーライドする必要がありますか?