Я чувствую, что немного пробел в моем понимании друга
ключевое слово.
У меня есть класс, презентация
. Я использую его в своем коде для двух переменных, present1
и present2
, которые я сравниваю с ==
:
if(present1==present2)
Вот как я определил оператор ==
(в презентации класса
):
bool operator==(const presentation& p) const;
Однако мне сказали, что лучше использовать friend
и определять его вне класса:
friend bool operator==(presentation&, presentation&);
Почему? В чем разница между ними?