Comparando objetos usando o operador bool ==
Então, depois de ler algumas perguntas e respostas, eu ainda não entendo porque usar
friend bool operator==( BaseClass const &left, BaseClass const &right )
ao invés de
bool operator==( BaseClass const &right )
agora eu tenho algo parecido com istohttp://pastebin.com/pKsTabC0 (Fixo) - e parece funcionar bem. Mas talvez eu esteja perdendo alguma coisa? Alguma sugestão?
Atualização 1
Ok, eu mudei a fonte para dar certohttp://ideone.com/fIAmB. Removido virtual desnecessário e adicionado const. Ainda não entendi porque usar amigos ...