Cómo emular la palabra clave super en C++

Como Emular La Palabra Clave Super En C



Algunos lenguajes de programación basados ​​en objetos tienen la palabra clave 'super', que permite que una subclase invoque funciones y miembros de la clase base o principal. Algunos lenguajes de programación determinan cómo se debe usar específicamente la palabra clave 'super'. Pero en el caso de C++, la palabra clave super no se usa de la misma manera que en Java y Python. En este tutorial, estudiaremos y demostraremos la emulación de súper palabras clave en C++.

Cómo emular la palabra clave super en C++

La palabra clave conocida como 'super' no está predefinida en el compilador de C++. La herencia y la anulación de función se utilizan para desarrollar una subclase que toma los miembros y métodos de su superclase. Simplemente proporcione el identificador de la 'superclase' y el miembro o método al que desea acceder con el operador (::).







Sintaxis

Puede acceder a un método en una superclase llamada 'parent_class' que tiene un nombre como 'parent_function()' en una subclase usando la sintaxis que se muestra a continuación:



clase_padre::función_padre ( ) ;

 



Ejemplo

Usando C++ para emular la funcionalidad de la palabra clave super para acceder a las propiedades de una clase principal, use el operador de resolución de alcance (::).





El operador de resolución de alcance (::) se puede emplear para obtener los miembros de una clase principal siempre que una clase herede de ella. Considere el siguiente código como un ejemplo:

#incluir
utilizando el espacio de nombres estándar;

clase base_Clase {
público:
función base nula ( ) {
cout << 'Esta es la salida de baseFunction de la clase base' << fin;
    }
} ;
clase derivada_Clase: pública base_Clase {
público:
función vacía ( ) {
base_Class::baseFunction ( ) ;
cout << 'Esta es una clase derivada que accede a baseFunction desde la clase base' << fin;
    }
} ;
int principal ( ) {
derivado_Clase d;
d.dFunción ( ) ;
    devolver 0 ;
}

 
El programa anterior tiene una función de la baseFunction() de la clase base o principal. Se define otra clase derivada que accede a baseFunction() en dFunction(). El método principal es primero crear una instancia de la clase derivada y llamar a dFunction() que está imprimiendo el resultado de baseFunction() y dFunction().



Conclusión

Aunque la palabra clave 'super' no existe directamente en C++, su comportamiento se puede imitar combinando herencia y anulaciones de funciones. Podemos llamar y usar con éxito métodos o miembros de la superclase llamando primero a las funciones de la superclase antes de pasar a la implementación de la subclase. Esta publicación también proporcionó una instancia de código C++ para su mejor comprensión.