Clases derivadas

En C++, una clase derivada es una clase que hereda propiedades y comportamiento de una clase base. La clase derivada se denomina «subclase» o «clase hija«, mientras que la clase base se denomina «superclase» o «clase padre«. La herencia permite que una clase derivada amplíe o modifique la funcionalidad de la clase base.

La sintaxis para crear una clase derivada es la siguiente:

La palabra clave public especifica el tipo de acceso a la clase base.

En este caso, public indica que la clase derivada hereda de manera pública todos los miembros y métodos de la clase base. También existen los tipos de acceso private y protected, que controlan el nivel de visibilidad de los miembros y métodos heredados.

Una clase derivada puede agregar nuevos miembros y métodos, y también puede modificar o anular los miembros y métodos heredados de la clase base. Aquí hay un ejemplo que ilustra cómo se puede usar la herencia en C++:

En este ejemplo, la clase Animal es la clase base,…

…y las clases Perro y Gato son clases derivadas.

La clase Perro y la clase Gato anulan el método hacerSonido() de la clase base Animal para proporcionar su propia implementación del sonido que hacen.

Al llamar al método hacerSonido() en cada objeto, se ejecuta la implementación correspondiente según el tipo de objeto. El programa de ejemplo anterior mostraría lo siguiente:

Acuerdate de añadir, al principio, la librería para poder ejecutar el programa junto con el espacio de nombres std para usar cout, en lugar de std::cout.