dynamic_cast vs expondo funções virtuais na classe pai (C ++)
Eu tenho uma classe pai "base" e outra classe "derivada" que herda de "base".
"derivado" tem 1 método cH1.
se eu fizer isso:
base* b = new derived();
E eu quero poder fazer isso:
b->cH1();
Obviamente não posso e existem 2 soluções:
Seja declarar cH1 como virtual puro na base.ou faça isso:
dynamic_cast<derived*>(b)->cH1();
Qual deles é uma prática melhor?