Cuando aprendes sobre el polimorfismo, comúnmente ves algo como esto
class Base { int prv_member; virtual void fn(){} }
class Derived : Base { int more_data; virtual void fn(){} }
¿Qué es upcasting o downcasting? ¿Es (Derived*)base_ptr;
un upcast o downcast?
Lo llamo upcast porque te vas de la base a algo más específico. Otras personas me dijeron que es abatido porque estás bajando de una jerarquía a algo específico, siendo la parte superior la raíz. Pero otras personas parecen llamarlo como yo lo llamo.
Al convertir un ptr base en un ptr derivado, ¿se llama upcasting o downcasting? y si alguien puede vincular a una fuente oficial o explicar por qué se llama así de genial.
virtual
es innecesario pero no "duele". ¿Puedes explicar por qué crees que no debería usarse en absoluto en ese contexto?