Добрый день, люди, я застрял с глупой проблемой C ++.
Допустим, у меня есть итератор it1, который проходит через значения вектора, содержащего указатели на класс, мы назовем его C:
std::vector<C*>::iterator it1;
Но C не одинок:у него есть много подклассов, которые имеют одни и те же атрибуты и методы, которые я ищу с ним1, хотя их реализации могут отличаться или не различаться.Что мне делать, если я хотел, чтобы итератор работал с элементами (или, что лучше, с указателями) не только класса C, но и его дочерних элементов?
То, что я думал, было чем-то, использующим шаблоны, хотя это сделало бы итерации небезопасными, так как я не знаю, как ограничить шаблон только C и его подклассами.Любые предложения?
Редактировать: да, я говорил о рекурсивной структуре данных.
Edit2: Ну, похоже, это не ошибка итератора в конце концов.Мой код работал нормально, я задал вопрос, потому что собирался внести в него изменения, и я не был уверен, что делать.Извините, если это было неясно.