Lección 13 / 20

Herencia

En esta lección crearás una clase que reutiliza y extiende lo que hace otra.

class Perro : public Animal hace que Perro herede las propiedades y métodos de Animal. La clase derivada puede añadir cosas nuevas y también redefinir métodos existentes.

El código de ejemplo define una clase base y una derivada que sustituye su comportamiento. Al llamar al método sobre el objeto derivado se ejecuta la versión especializada.

El detalle que suele faltar es virtual: sin él, llamar a un método a través de un puntero a la clase base ejecuta la versión de la base, no la de la derivada. Es una de las sorpresas más comunes de C++. Y si una clase se va a heredar, su destructor debería ser virtual.

En el trabajo real, la herencia se usa con más moderación de lo que parece. Muchos equipos prefieren la composición, porque una jerarquía profunda acaba siendo difícil de cambiar.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar C++ directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

Espacio publicitario (banner)
Espacio publicitario (en el artículo)