¿Qué es el constructor de herencia en C ++?

¿Qué es el constructor de herencia en C ++?
Cª++, herencia es una noción clave en la programación orientada a objetos. Una clase derivada puede heredar los rasgos y comportamientos de una clase base gracias a los poderosos herencia Capacidad en C++. Una clase derivada hereda inmediatamente a todos los miembros de la clase base cuando se forma. Es necesario que el constructor de clase derivado también inicialice los miembros de la clase base. Cª++, herencia es una característica poderosa que permite a los desarrolladores reutilizar el código, mejorar la eficiencia y organizar el código en jerarquías lógicas.

Junto con la herencia, los constructores también son esenciales en C++. A constructor es una función miembro única que le permite inicializar las propiedades del objeto. Un Constructor de herencia es un constructor utilizado para inicializar tanto la clase base como los objetos de clase derivados que la clase derivada ha heredado. El constructor de herencia es responsable de inicializar tanto a los miembros de la clase base hereditaria como a los miembros de la clase derivados. Para lograr esto, el constructor invoca el constructor de la clase base, asegurando que todos los miembros de la clase derivada se inicialicen adecuadamente, incluidos los heredados de la clase base.

Al invocar el constructor de la clase base y pasarlo los parámetros necesarios, el constructor de herencia inicializa a los miembros de la clase base. Esto se logra usando el 'clase base (args)' Lista de inicialización en el constructor. Se proporcionan más instrucciones particulares a la clase derivada en el cuerpo del constructor.

La sintaxis para heredero Una clase en C ++ es:

clase DerivedClass: AccessSpecifier Baseclass
// miembros de la clase
;

La nueva clase que se está formando en este caso, "Clase derivada", heredará de "Baseclass". El nivel de acceso a los miembros heredados es especificado por el "AccessSpecifier ". C ++ utiliza tres tipos de especificadores de acceso, a saber "publico privado", y "protegido". La palabra "público" indica que la clase derivada tiene acceso a los miembros públicos de la clase base. La clase derivada no tiene acceso a los miembros de la clase base, según el 'privado' especificador. La clase derivada tiene acceso a los miembros de la clase base protegidos que pueden ser heredados por sus clases de hijos, según el 'protegido' especificador.

Ejemplo de herencia en c++

El siguiente ejemplo muestra la implementación de Herencia En C ++:

#incluir
usando el espacio de nombres STD;
Animal de clase
público:
void eat ()
cout << "I can eat!" << endl;

vacío sleep ()
cout << "I can sleep!" << endl;

;
Clase Cat: Public Animal
público:
void meow ()
cout << "I can meow!" << endl;

;
int main ()
Cat Cat1;
Cat1.comer();
Cat1.dormir();
Cat1.maullar();
regresar 0;

El código dado define dos clases, "Animal" y "Gato", dónde "Gato" se deriva de "Animal". Ambas clases tienen algunas funciones de miembros, como "comer dormir", y "maullar". La función principal crea un objeto de la clase "Gato" y llama al heredado funciones de la clase "Animal" así como la función específica de la clase "Gato", cual es "maullar". El programa lleva el texto a la consola, lo que indica que el gato puede comer, dormir y miau.

Producción

Cuando se deriva una clase, todas las variables y las funciones miembros de la clase base se transfieren a la clase derivada. El heredado La accesibilidad de los miembros en la clase derivada está determinada por el especificador de acceso. La clase derivada también puede sustituir nuevas características para las que ya existen. Puede agregar nuevas implementaciones para los métodos de la clase base y agregar nuevas funciones y variables de miembros.

Es crucial recordar que el constructor de herencia debe usarse para llamar explícitamente el constructor de la clase base con los parámetros necesarios si la clase base tiene un constructor predeterminado o si no está disponible.

Conclusión

La fuerte característica de herencia en C ++ permite que las clases reutilicen el código heredando características y acciones de otras. Una característica útil de C ++ constructor de herencia permite clases derivadas para heredar las propiedades, métodos y miembros de datos de una clase base. Con la adición de una lista de inicialización para constructores de clase base, se define utilizando la misma sintaxis que un constructor estándar. Los programadores de C ++ pueden minimizar la duplicación del código y mejorar la estructura del código utilizando el constructor de herencia. Para crear jerarquías de clase complejas en la programación orientada a objetos, es una herramienta importante.