Сравнение объектов с помощью оператора bool ==
Итак, после прочтения некоторых SO вопросов и ответов я все еще не понимаю, зачем использовать
friend bool operator==( BaseClass const &left, BaseClass const &right )
вместо
bool operator==( BaseClass const &right )
сейчас у меня есть что-то вроде этогоhttp://pastebin.com/pKsTabC0 (Fixed) - и, кажется, работает нормально. Но, может быть, я что-то упустил? Какие-либо предложения?
Update 1
Хорошо, я изменил источник, чтобы он работал правильноhttp://ideone.com/fIAmB, Удалил ненужные виртуальные и добавил const. Тем не менее я не понимаю, зачем использовать друзей ...