У меня есть шаблонный контейнер list. Он хранит 4 типа объектов, у каждого объекта есть свои поля. Эти объекты унаследованы определённым образом (есть родительский класс, от него наследуется ещё 2 класса и от каждого ещё 2).
В программе я сначала выбираю с какими объектами буду работать, а уже потом создаю контейнер с этими объектами. Проблема в том, что программа при компиляции не знает с чем она будет работать и ругается на то, что вызываются методы не принадлежащие определённым классам.
Как мне отсортировать контейнер в зависимости от того какие объекты лежат в контейнере и какие поля у этих объектов?
Никак. Нужно использовать интерфейс базового класса этих 4 типов (в списке хранить указатели на базовый класс, а не на конкретный из четырёх). Если у них нет общего базового класса с необходимыми виртуальными функциями, то это уже ошибка проектирования.