Freigeben über


__super

Microsoft-spezifisch

Ermöglicht es Ihnen, explizit anzugeben, 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ösungsphase berücksichtigt, und die Funktion, die die beste Übereinstimmung bereitstellt, ist die, die aufgerufen wird.

__super kann nur innerhalb des Texts einer Memberfunktion stehen.

__super kann nicht mit einer using-Deklaration verwendet werden. Weitere Informationen finden Sie unter using-Deklaration.

Mit der Einführung von Attributen, die Code einfügen, kann Ihr Code eine oder mehrere Basisklassen enthalten, deren Namen Sie möglicherweise nicht kennen, die 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)
   }
};

END Microsoft-spezifisch

Siehe auch

Referenz

C++-Schlüsselwörter