un par de dudas sobre herencia
Hola. Estoy empezando en esto del c++ y tengo un par de dudas sobre herencia que espero podais resolverme:
Tengo una clase, llamemosla X, que tiene un metodo visualizar, que muestra sus atributos. Tengo una subclase Y de X que sobrecarga el método visualizar para mostrar sus atributos.
- ¿Como se puede hacer para que en visualizar de Y se llame a visualizar de X, para mostrar , además de los atributos específicos de Y, los de X?. Se podría en visualizar de Y mostrar los atributos propios y heredados pero creo que no es muy correcto.
Otra duda que tengo es si desde una clase X se puede acceder a atributos y metodos de sus posibles subclases.
Gracias de antemano!.
Tengo una clase, llamemosla X, que tiene un metodo visualizar, que muestra sus atributos. Tengo una subclase Y de X que sobrecarga el método visualizar para mostrar sus atributos.
- ¿Como se puede hacer para que en visualizar de Y se llame a visualizar de X, para mostrar , además de los atributos específicos de Y, los de X?. Se podría en visualizar de Y mostrar los atributos propios y heredados pero creo que no es muy correcto.
Otra duda que tengo es si desde una clase X se puede acceder a atributos y metodos de sus posibles subclases.
Gracias de antemano!.
Para que la funcion visualizar de Y llame a la funcion visualizar de X debes poner esto dentro del cuerpo de la funcion
X::visualizar();
Esto es posible porque una clase derivada tiene consancia de su clase base, pero no se puede acceder mediante un objeto base a los atributos ni funciones de una clase derivada, ya que la clase base no tiene constancia de la derivada.
X::visualizar();
Esto es posible porque una clase derivada tiene consancia de su clase base, pero no se puede acceder mediante un objeto base a los atributos ni funciones de una clase derivada, ya que la clase base no tiene constancia de la derivada.