Creando un nuevo objeto a partir de información de tipo dinámico
En C ++, ¿hay alguna forma de consultar el tipo de un objeto y luego usar esa información para crear dinámicamente un nuevo objeto del mismo tipo?
Por ejemplo, digamos que tengo una jerarquía simple de 3 clases:
class Base
class Foo : public Base
class Bar : public Base
Ahora supongamos que te entrego un objeto moldeado como tipo Base, que en realidad es del tipo Foo. ¿Hay alguna forma de consultar el tipo y usar esa información para crear posteriormente nuevos objetos del tipo Foo?