Freigeben über


__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

Siehe auch

Referenz

C++-Schlüsselwörter