__super
Microsoft-spezifisch
Ermöglicht es Ihnen, explizit angeben, dass Sie eine Basisklassenimplementierung für eine Funktion aufrufen, die Sie überschreiben.
__super::member_function();
Hinweise
Alle verfügbaren Basisklassenmethoden werden während der Überladungsauflösungs phase betrachtet, und die Funktion, die die beste Übereinstimmung enthält, ist die, die aufgerufen wird.
__super kann innerhalb des Texts einer Memberfunktion nur angezeigt werden.
__super kann nicht mit A mit der Deklaration verwendet werden.Weitere Informationen finden Sie unter using-Deklaration.
Mit der Einführung von Attribute , das Code einfügen, enthält der Code eine oder mehrere Basisklassen, deren Namen Sie nicht wissen, aber die 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)
}
};
Microsoft ENDES bestimmten