Сравнение объектов с помощью логического оператора ==

Итак, прочитав некоторые вопросы и ответы SO, я до сих пор не понимаю, зачем использовать

friend bool operator==( BaseClass const &left, BaseClass const &right )

вместо

bool operator==( BaseClass const &right )

сейчас у меня что-то вроде этогоhttp://pastebin.com/pKsTabC0(Фиксированный)-и, кажется, работает нормально. Но может я что-то упускаю? Какие-либо предложения?

Обновление 1

Хорошо, я изменил источник, чтобы он работал правильноhttp://ideone.com/fIAmB. Удалены ненужные виртуальные и добавлены константные. Я все еще не понимаю, зачем использовать друзей...

11
задан DmitryM 24 July 2012 в 15:22
поделиться