Это может быть глупый вопрос, я подозреваю, что знаю ответ (нет), потому что, кажется, я упираюсь в стену.
Учитывая, что у меня есть коллекция объектов, полученных из определенного класса:
class BaseClass;
class DerivedA: public BaseClass;
class DerivedB: public BaseClass;
class DerivedC: public BaseClass;
std::vector<BaseClass> myCollection;
Я хочу вызвать метод в зависимости от типов конкретного класса:
class Processor {
void doSomething(DerivedA a, DerivedB b);
void doSomething(DerivedA a, DerivedC c);
}
Проблема в том, что если я получу доступ к отдельным элементам в коллекции и попытаюсь вызвать метод «doSomething» в «Процессоре», он не сможет решить, какой метод использовать (на самом деле). Итак, мой вопрос: есть ли способ получить элементы в коллекции с правильным производным типом?