dynamic_cast против предоставления виртуальных функций в родительском классе (C ++)
У меня есть родительский класс "base" и другой класс "производный" который наследуется от "base".
& Quot; полученный & Quot; имеет 1 метод cH1.
если я сделаю это:
base* b = new derived();
И я хочу быть в состоянии сделать это:
b->cH1();
Очевидно, что я не могу, и есть 2 решения:
Either declare cH1 as pure virtual in base.or do this:
dynamic_cast<derived*>(b)->cH1();
Какой из них лучше?