Как определить неудачные приведения с помощью оператора dynamic_cast?

Scott Meyer в своей книге Effective C++ говорит, что dynamic_cast используется для безопасного приведения типов вниз или поперек иерархии наследования. То есть вы используете dynamic_cast для приведения указателей или ссылок на объекты базового класса к указателям или ссылкам на производные или одноуровневые объекты базового класса таким образом, чтобы вы могли определить, были ли приведения успешными.

Неудачные приведения обозначаются нулевым указателем (при приведении указателей) или исключением (при приведении ссылок).

Я хотел бы получить два фрагмента кода, показывающих неудачное приведение в случае указателя приведения, и может быть указана ссылка на приведение.

Вы просите примеры кода, проверяющего, является ли указатель нулевым, и кода, перехватывающего исключение?   —  person nitin_cherian    schedule 16.07.2012

Нет. Я не понимаю, как броски могут потерпеть неудачу, как упоминал Скотт. Фрагмент кода определенно поможет.   —  person nitin_cherian    schedule 16.07.2012

en.wikipedia.org/wiki/Dynamic_cast   —  person nitin_cherian    schedule 16.07.2012

@JamesMcNellis: Пожалуйста, помните, что все мы начинаем как новички. В любом случае, я получил фрагмент кода от Рида.   —  person nitin_cherian    schedule 16.07.2012

Источник: ledsshop.ru

Стиль жизни - Здоровье!