__super
Microsoft-spezifisch
Ermöglicht es Ihnen, explizit anzugeben, dass Sie eine Basisklassenimplementierung für eine Funktion aufrufen, die Sie überschreiben.
Syntax
__super::member_function();
Hinweise
Alle verfügbaren Basisklassenmethoden werden während der Überladungsauflösungsphase berücksichtigt, und die Funktion, die die beste Übereinstimmung bereitstellt, ist die, die aufgerufen wird.
__super
kann nur innerhalb des Textkörpers einer Memberfunktion angezeigt werden.
__super
kann nicht mit einer using-Deklaration verwendet werden. Weitere Informationen finden Sie unter Verwendung der Deklaration .
Mit der Einführung von Attributen, die Code injizieren , enthält Ihr Code möglicherweise eine oder mehrere Basisklassen, deren Namen Sie möglicherweise nicht kennen, aber Methoden enthalten, die Sie aufrufen möchten.
Beispiel
// deriv_super.cpp
// compile with: /c
struct B1 {
void mf(int) {}
};
struct B2 {
void mf(short) {}
void mf(char) {}
};
struct D : B1, B2 {
void mf(short) {
__super::mf(1); // Calls B1::mf(int)
__super::mf('s'); // Calls B2::mf(char)
}
};
Ende Microsoft-spezifisch
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Tickets als Feedbackmechanismus für Inhalte auslaufen lassen und es durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unter:Feedback senden und anzeigen für