|
Например, у нас есть указатель на базовый класс А, у которого есть множество наследников: В1, В2, В3, ... . Экземпляр какого типа должен быть создан по этому указателю, мы узнаем только в run-time. Создавать экземпляр (или множество экземпляров некоего потомка от А) должны мы. Получаем информацию о том, экземпляр какого класса должен быть создан, мы из некоего третьего класса (или задачи), написанной не нами. Как же реально эта третья задача может передать нам информацию о классе, экземпляры которого мы будем создавать?
Общая идея может быть такой: эта третья задача передает нам указатель на функцию, которая создает экземпляр нужного типа. А мы у себя будем вызывать эту функцию (причем столько раз, сколько объектов нужно создать).
А как эту проблему решить принципиально по-другому, я не очень представляю.