Я хочу, чтобы мой код был расширяемым, чтобы во время выполнения я создавал объекты.
Например, допустим, у меня есть класс Grocery, у которого есть массив фруктов, и я хочу заполнить этот массив фруктов объектами, которые получены из фруктов.
class Fruit{
};
class Grocery{
std::vector<Fruit*> m_fruits;
};
class Apple: Fruit{
};
class Pineapple: Fruit{
};
Теперь во время выполнения я хочу, чтобы мой вектор класса Grocery m_fruits
был заполнен объектами класса Apple и Pineapple. Так возможно ли это в некотором роде.
если я добавлю еще один фрукт в качестве клубники в будущем, его объект будет создан и динамически добавлен в вектор Grocery без изменения реализации класса Grocery?
Помощь по коду будет оценена.