__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

Schlüsselwörter