¿Cómo identificar las conversiones fallidas utilizando el operador dynamic_cast?
Scott Meyer
en su libroEffective C++
dicedynamic_cast
se utiliza para realizar conversiones seguras hacia abajo o a través de una jerarquía de herencia. Es decir, utiliza dynamic_cast para convertir punteros o referencias a objetos de clase base en punteros o referencias a objetos de clase base derivados o hermanos de tal manera que pueda determinar si las conversiones tuvieron éxito.
Las conversiones fallidas se indican mediante un puntero nulo (cuando se emiten punteros) o una excepción (cuando se emiten referencias).
Me gustaría obtener dos fragmentos de código que muestren la conversión fallida en el caso de que el puntero de lanzamiento y la referencia de lanzamiento se puedan indicar.