Herencia de clases en C++

Continuando con la programación orientada a objetos en C++ hoy vamos a ver cómo funciona la herencia de clases, con algunos ejemplos.

Recordemos que, en C++, cuando una clase extiende de otra, la misma hereda sus métodos y propiedades, exceptuando el constructor.

También vamos a ver cómo sobrescribir métodos de la clase padre.

Nota: antes de que leas sobre la herencia, mira los principios de la programación orientada a objetos en C++.

Extender de otra clase en C++

Para definir que una clase extiende de otra, se usan los dos puntos:

class NombreDeClase: NombreDeLaClasePadre{};

Se puede extender de varias clases:

class NombreDeClase: NombreDeUnaClase, NombreDeOtraClase{};

Llamar a métodos de la clase padre

Si los métodos de la clase son marcados como públicos o protegidos, se puede acceder a ellos a través de this.

Sobrescribir métodos

Para sobrescribir métodos dentro de una clase padre, los mismos deben ser declarados como virtuales con la palabra virtual. Por ejemplo:

virtual void nombreDelMetodo(){};

De esta manera, en la clase hija se sobrescribe con la palabra override:

void nombreDelMetodo override(){}

Obviamente el método debe tener el mismo nombre, número de argumentos y valor de retorno.

Llamar al constructor padre

Se puede llamar al constructor padre, para ello primero se debe definir un constructor en la clase hija.

Por ejemplo:

ConstructorDeLaClaseHija(int argumento1) : ConstructorDeLaClasePadre(argumento1){};

Fíjate que el constructor de la clase padre no indica el tipo de dato, solo el nombre de la variable.

Vas a entender mejor con el código.

Hablar es de mal gusto, muéstrame el código

Ahora veamos el código de todo lo que hemos explicado sobre la herencia de clases en C++

Dentro del código se refleja el acceso a las propiedades y métodos definidas en la clase padre, así como un ejemplo para sobrescribir métodos.

La definición y llamada del constructor es un poco compleja, pero se ejemplifica claramente. Por cierto, el constructor de la clase hija podría tener más argumentos y pasarle únicamente algunos a la del padre.

Como siempre, recuerda que la clase puede definir sus propios métodos y propiedades, así como extender de varias clases.

Ejecuta el código aquí.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario