@rsatarov

Как заставить std::array различать родителя и наследника?

Допустим, имеется класс Example и наследник ExampleDerived. Каким образом при помещении их обоих в std::array добиться вызова у наследника именно его версий методов, а не родительских? Это можно сделать только ручным кастом? Или же танцы с virtual?
  • Вопрос задан
  • 146 просмотров
Пригласить эксперта
Ответы на вопрос 2
@res2001
Developer, ex-admin
Танцы с virtual. Для того они и придуманы.
Тут еще вопрос в том как именно вы помещаете объекты в std::array и какие именно это объекты. В вашем случае вам нужно помещать в массив либо ссылки, либо указатели (умные), иначе рискуете словить проблемы.
Ответ написан
Комментировать
@Codebaker
Всё умею, всё могу!
Это можно реализовать с помощью CRTP
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы