|
есть иерархия
class CShape
{
... абстрактный он
};class CCircle : public CShape
{
};class CRect : public CShape
{
};
есть ф-ция void Foo (CShape& pObject)
т.е. в нее передается ССЫЛКА на наследника
И есть некая сторонняя ф-ция CShape *AnotherFoo ()
которая возвращает УКАЗАТЕЛЬ на CShapeи вот внутри Foo мне нужно сравнить pObject и результат работы AnotherFoo
Сравнение идет по адресу (фактически нужно определить идентичность этих объектов)
ВОПРОС. Как переопределить оператор == ?Нужно ли это делать только в CShape или надо в наследниках тоже
Я написал такой бред (ессно не пашет)
virtual bool operator==(const CShape& a) const
{return this == &a;
}Help please
E-mail: info@telesys.ru