|
Во-первых, в Foo передается ссылка на базу. Так что не совсем понятно, что хочется получить.
Имя pObject начинается с буквы p. Это обычное соглашение для указателей (pointer) - а по факту это ссылка. Не стоит таким образом вводить в заблуждение людей, читающих Ваш код.
Почему не работает метод - не совсем понятно. В каком он классе?
И самое главное - стандартная семантика operator== - это сравнение различных объектов при наличии разумного отношения эквивалентности. Сравнение адресов объектов - это нечто совершенно другое. Конечно, можно и таким образои определить отношение эквивалентности (каждый объект эквивалентен только самому себе), но это не совсем то, что обычно ожидается.
Если нужно сравнивать адреса - зачем определять oparetor==? Почему не сравнивать адреса прямо? if( &object == AnotherFoo() )...
E-mail: info@telesys.ru