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

Que Es El Constructor De Herencia En C



En 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 la poderosa herencia capacidad en C++. Una clase derivada hereda inmediatamente todos los miembros de la clase base cuando se forma. Es necesario que el constructor de la clase derivada también inicialice los miembros de la clase base. En 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 que se utiliza para inicializar tanto la clase base como los objetos de la clase derivada que ha heredado la clase derivada. El constructor de herencia es responsable de inicializar tanto los miembros de la clase base heredados como los miembros de la clase derivada. Para lograr esto, el constructor invoca al constructor de la clase base, asegurándose de que todos los miembros de la clase derivada se inicialicen correctamente, incluidos los heredados de la clase base.

Al invocar el constructor de la clase base y pasarle los parámetros necesarios, el constructor de herencia inicializa los miembros de la clase base. Esto se logra utilizando el 'clase base (argumentos)' lista de inicialización en el constructor. En el cuerpo del constructor se proporcionan más instrucciones específicas para la clase derivada.







La sintaxis para heredando una clase en C++ es:



clase Clase derivada : accessSpecifier BaseClass {
    // miembros de la clase
} ;

La nueva clase que se forma en este caso, 'Clase derivada', heredará de “Clase Base”. El nivel de acceso a los miembros heredados se especifica mediante el ' especificador de acceso”. 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 protegida que pueden ser heredados por sus clases secundarias, de acuerdo con el 'protegido' especificador



Ejemplo de Herencia en C++

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





#incluir
usando espacio de nombres estándar ;

clase Animal {
    público :
        vacío comer ( ) {
        cout << '¡Puedo comer!' << final ;
    }
    vacío dormir ( ) {
        cout << '¡Yo puedo dormir!' << final ;
    }
} ;
clase Gato : público Animal {
    público :
        vacío maullar ( ) {
        cout << '¡Puedo maullar!' << final ;
    }
} ;
En t principal ( ) {
gato gato1 ;
gato1. comer ( ) ;
gato1. dormir ( ) ;
gato1. maullar ( ) ;

    devolver 0 ;
}

El código dado define dos clases, 'Animal' y 'Gato' , dónde 'Gato' se deriva de 'Animal' . Ambas clases tienen algunas funciones miembro, 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 envía el texto a la consola, indicando que el gato puede comer, dormir y maullar.

Producción



Cuando se deriva una clase, todas las variables miembro y funciones miembro 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 características nuevas por aquellas que ya existen. Puede agregar nuevas implementaciones para los métodos de la clase base y agregar nuevas funciones y variables miembro.

Es crucial recordar que el constructor de herencia debe usarse para llamar explícitamente al 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 código al heredar características y acciones de otras. Una característica útil de C++ constructor de herencia permite que las clases derivadas hereden las propiedades, los métodos y los 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 de código y mejorar la estructura del código utilizando el constructor de herencia . Para crear jerarquías de clases complejas en la programación orientada a objetos, es una herramienta importante.