So emulieren Sie das Super-Schlüsselwort in C++

So Emulieren Sie Das Super Schlusselwort In C



Einige objektbasierte Programmiersprachen verfügen über das Schlüsselwort „super“, das es einer Unterklasse ermöglicht, Funktionen und Mitglieder der Basis- oder übergeordneten Klasse aufzurufen. Einige Programmiersprachen legen fest, wie das Schlüsselwort „super“ konkret verwendet werden soll. Aber im Fall von C++ wird das Schlüsselwort super nicht auf die gleiche Weise verwendet wie in Java und Python. In diesem Tutorial untersuchen und demonstrieren wir die Emulation von Super-Schlüsselwörtern in C++.

So emulieren Sie das super-Schlüsselwort in C++

Das als „super“ bekannte Schlüsselwort ist im C++-Compiler nicht vordefiniert. Die Vererbung und Funktionsüberschreibung werden verwendet, um eine Unterklasse zu entwickeln, die die Mitglieder und Methoden ihrer Oberklasse übernimmt. Geben Sie einfach den Bezeichner der „Superklasse“ und das Mitglied oder die Methode, auf die Sie zugreifen möchten, mit dem Operator (::) an.







Syntax

Sie können auf eine Methode in einer Oberklasse mit dem Namen „parent_class“ zugreifen, die in einer Unterklasse einen Namen wie „parent_function()“ hat, indem Sie die unten gezeigte Syntax verwenden:



parent_class::parent_function ( ) ;



Beispiel

Wenn Sie C++ verwenden, um die Funktion des Super-Schlüsselworts für den Zugriff auf die Eigenschaften einer übergeordneten Klasse zu emulieren, verwenden Sie den Bereichsauflösungsoperator (::).





Der Bereichsauflösungsoperator (::) kann verwendet werden, um die Mitglieder einer übergeordneten Klasse abzurufen, wenn eine Klasse von ihr erbt. Betrachten Sie den folgenden Code als Beispiel:

#include
Verwenden des Namensraums std;

Klasse base_Class {
öffentlich:
Leere Basisfunktion ( ) {
cout << „Dies ist die Ausgabe von baseFunction aus der Basisklasse“ << endl;
}
} ;
Klasse abgeleitete_Klasse: öffentliche Basisklasse {
öffentlich:
void dFunction ( ) {
base_Class::baseFunction ( ) ;
cout << „Dies ist eine abgeleitete Klasse, die von der Basisklasse aus auf baseFunction zugreift.“ << endl;
}
} ;
int main ( ) {
abgeleitete_Klasse d;
d.dFunktion ( ) ;
zurückkehren 0 ;
}


Das obige Programm verfügt über eine Funktion aus der Basis- oder Elternklasse baseFunction(). Es wird eine weitere abgeleitete Klasse definiert, die in der dFunction() auf die baseFunction() zugreift. Die Hauptmethode besteht darin, zunächst eine Instanz der abgeleiteten_Klasse zu erstellen und dFunction() aufzurufen, die die Ausgabe von baseFunction() und dFunction() druckt.



Abschluss

Obwohl das Schlüsselwort „super“ in C++ nicht direkt existiert, kann sein Verhalten durch die Kombination von Vererbung und Funktionsüberschreibungen nachgeahmt werden. Wir können Methoden oder Mitglieder der Oberklasse erfolgreich aufrufen und verwenden, indem wir zuerst die Funktionen der Oberklasse aufrufen, bevor wir mit der Implementierung der Unterklasse fortfahren. In diesem Beitrag wurde zum besseren Verständnis auch eine Instanz von C++-Code bereitgestellt.