2015-12-30 4 views

ответ

0

Нет. Просто потому, что контейнеры stl не имеют виртуальных функций, и это опасно для вывода из контейнера stl, поскольку у него нет виртуального деструктора (вы можете специализировать контейнер stl для своего типа, но это не переопределяет, и это не должно быть сделано).

+0

Спасибо, приятель, Но мой вопрос: могу ли я добиться переопределения с помощью собственных объектов класса. означает, что после создания класса объекта вектор, карта, список (у кого есть объекты вместо значения) – monu

0

Контейнеры STL не имеют виртуального метода, поэтому вы не можете переопределить функцию, которая не является виртуальной.

В качестве альтернативы вы можете использовать композицию и дать интерфейс вашему классу.

Вы также можете обратиться к подобной теме: How can I override an C++ standard-library class function?

Смежные вопросы