поэтому у меня есть этот код:
Base* objbase = new Derived();
//perform a downcast at runtime with dynamic_cast
Derived* objDer = dynamic_cast<Derived*>(objBase);
if(objDer)//check for success of the cast
objDer->CallDerivedFunction();
Это фрагмент кода для раздела операторов приведения в моей книге.
Теперь, почему у меня есть это, у меня нет понять, в чем смысл динамически приводить указатель на базовый объект, указывающий на производный объект; Для меня это как-то связано с полиморфизмом, дающим нам возможность делать objBase->DeriveClassFunction()
, но я действительно не знаю.
Во-первых, почему он это делает: Base* objbase = new Derived();
, а затем почему он снова приводит базовый объектный указатель к производному, я не могу понять, почему.
Заранее спасибо.