Título: [AYUDA] Como se de que tipo se creo una clase que deriba de otra Publicado por: _TTFH_3500 en 16 Marzo 2019, 05:01 am Código
Ambas conversiones de tipo dan error. Título: Re: [AYUDA] Como se de que tipo se creo una clase que deriba de otra Publicado por: CalgaryCorpus en 16 Marzo 2019, 05:15 am Una alternativa es que definas en la clase base un metodo virtual que se llame mostrar() o algo asi, y que todas las clases derivadas implementan, y con ello evitas tener que saber el tipo, solo dices vehiculo->mostrar(), y ya.
Título: Re: [AYUDA] Como se de que tipo se creo una clase que deriba de otra Publicado por: Loretz en 16 Marzo 2019, 06:59 am En tu ejemplo, MostrarAtrb(vehiculo); recibe un objeto Vehicle, que no tiene ruedas ni cambios.
El tipo estático de tu objeto "vehiculo" (definido en tiempo de compilación) es Vehicle, y el tipo dinámico (definido durante la ejecución) también lo es. Y al hacer vehiculo = Automovil(); o vehiculo = Bicicleta(); se asigna a vehiculo sólo la parte común entre un tipo y el otro. Es lo que se llama "Objet slicing". El dynamic_cast va a fallar siempre. Título: Re: [AYUDA] Como se de que tipo se creo una clase que deriba de otra Publicado por: srWhiteSkull en 16 Marzo 2019, 10:01 am Una alternativa es que definas en la clase base un metodo virtual que se llame mostrar() o algo asi, y que todas las clases derivadas implementan, y con ello evitas tener que saber el tipo, solo dices vehiculo->mostrar(), y ya. cierto.pd sigo pensando que el foro debería tener un marcador de votos positivos para las publicaciones, si no destacarla cambiando el orden al menos resaltarla o poner un marcador, me evitaria el mensaje :laugh: |