dynamic_cast vs exponer funciones virtuales en la clase padre (C ++)
Tengo una clase base "base" y otra clase "derivada" que se hereda de "base".
"derivado" tiene 1 método cH1.
si hago esto
base* b = new derived();
Y quiero poder hacer esto:
b->cH1();
Obviamente no puedo y hay 2 soluciones:
O bien declare cH1 como virtual puro en base.o haz esto:
dynamic_cast<derived*>(b)->cH1();
¿Cuál es una mejor práctica?