Описание тега dynamic-cast

Преобразование dynamic_cast позволяет безопасно преобразовывать указатели (и ссылки) в классы вверх, вниз и в стороны в иерархии наследования.

С cppreference.com:

Безопасно преобразует указатели и ссылки на классы вверх, вниз и в сторону по иерархии наследования.

dynamic_castимеет сценарии использования и ограничения. В общих чертах это означает, что он действителен для приведения полиморфных типов, и он выполняет проверки времени выполнения, чтобы гарантировать, что результат действителен для запрошенного типа объекта.