Tengo una clase A y otra clase que hereda de ella, B. Estoy anulando una función que acepta un objeto de tipo A como parámetro, así que tengo que aceptar una A. Sin embargo, luego llamo a funciones que solo tiene B, por lo que quiero devolver falso y no proceder si el objeto pasado no es del tipo B.Encontrar el tipo de un objeto en C++
¿Cuál es la mejor manera de averiguar qué tipo el objeto pasó a mi función ¿es?
¿Qué quiere decir con que debe haber una función virtual en la clase Base para hacer que dynamic_cast funcione? Eso me parece importante, lo adivinaré. – GiCo
OK lo encontré: la información de tipo de tiempo de ejecución (RTTI) está disponible solo para las clases que son polimórficas, lo que significa que tienen al menos un método virtual. dynamic_cast y typeid necesitan RTTI. – GiCo
¿No lanza 'dynamic_cast' si no es convertible? ¿Hay alguna manera de hacerlo sin generar un tiro? – jww