У меня есть базовый класс
class Animal
с чистыми виртуальными функциями и набор производных классов
class Monkey : public Animal
class Snake : public Animal
Я хочу реализовать операцию сравнения, чтобы, если я встречу два указателя на Животные в моем коде
Animal* animal1
Animal* animal2
Я могу сравнивать их друг с другом. Сравнение должно привести к ложному результату, если animal1 и animal2 относятся к разным производным классам. Если они принадлежат к одному производному классу, должен быть возвращен результат оператора сравнения.
Может ли кто-нибудь указать мне хороший способ реализации этого?