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();

Какой из них лучше?

Ответы на вопрос(3)

Ваш ответ на вопрос