Duplicar posible:
Operator overloadingC++ operador == sobrecarga
¿Cuál es la diferencia entre las siguientes formas de sobrecargar el operador ==?
// stroustrup way
friend bool operator== (MyClass &lhs, MyClass &rhs);
y
// as taught in other places, including caltech
bool MyClass::operator== (MyClass &rhs);
¿Qué camino es mejor?
Puede encontrar la respuesta a esta pregunta y muchas más en las [Preguntas frecuentes sobre sobrecarga del operador] (http://stackoverflow.com/questions/4421706/operator-overloading) :) –
La sección de preguntas frecuentes dice "Los operadores de comparación infija binarios debería, de acuerdo con las reglas generales, implementarse como funciones no miembro "pero no justifica por qué existe esta regla - http://stackoverflow.com/questions/4421706/operator-overloading/4421719#4421719 – danio