заставляет все объекты IWorker реализовать метод copy () и использовать его там.
нет, это не решает проблему
Я пытаюсь использовать указатели как IWorker *
да, vector<IWorker>
должно быть vector<IWorker *>
Обратите внимание, что в Manager::addWorker
вы уже предполагаете, что у вас есть вектор указателя
P.S.
Из вашей проблемы, почему вы не используете реализацию и обобщение для указания наследования?
Функция «addWorker» является чисто виртуальной и реализована в менеджере нижнего класса
Если это так, то Manager является работником , вы действительно * уверены в этом? Обычно Manager является независимым классом, который не наследует класс, которым он управляет, и может быть singleton
Вы уверены, что понимаете, что такое наследство?