получить Base * — указатель на копию этого объекта в динамической памяти, т.е. что-то вроде
new Derived(static_cast<Derived const &>(obj)),
не зная при этом, что такое Derived?
Я подозреваю, что это невозможно, но мало ли я чего-то не знаю.
для этого обычно делают clone, https://www.fluentcpp.com/2017/09/08/make-polymorphic-copy-modern-cpp/
...который придётся делать в каждом производном классе?
да, ну или можно скрестить это с crtp https://katyscode.wordpress.com/2013/08/22/c-polymorphic-cloning-and-the-crtp-curiously-recurring-template-pattern/
ну ты же хочешь научиться создавать копии всех производных классов. Раз тут N разных поведений, то и реализаций должно быть соответсвующее количество (
Невозможно
Обсуждают сегодня