Który operator musi zostać nadpisany w celu użycia std :: set w kodzie C ++?

To pytanie wywiadu.

Odwołując się do przykładowego kodu, który jeden z operatorów musi zostać nadpisany w celu użyciastd::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 <
 */

Właściwie nie rozumiem, dlaczego operator musi tutaj zostać zastąpiony. „set” nie zezwala na duplikowanie elementów, może operator! = musi zostać nadpisany?

questionAnswers(4)

yourAnswerToTheQuestion