Partager via


__super

Spécifique à Microsoft

Vous permet de déclarer explicitement que vous appelez une implémentation de classe de base pour une fonction que vous substituez.

__super::member_function();

Notes

Toutes les méthodes accessibles de classe de base sont considérées comme pendant la phase de résolution de surcharge, et la fonction qui fournit la meilleure correspondance est celle qui est appelée.

__super peuvent seulement apparaître dans le corps d'une fonction membre.

__super ne peut pas être utilisé avec un à l'aide de la déclaration.Consultez à l'aide de la déclaration pour plus d'informations.

Avec l'introduction d' attributs qui injectent un code, votre code peut contenir un ou plusieurs classes de base dont les noms vous ne pouvez pas connaître mais qui contiennent les méthodes que vous souhaitez à l'appel.

Exemple

// 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)
   }
};

détail de FIN Microsoft

Voir aussi

Référence

Mots clés C++