Partager via


__super

Section spécifique à Microsoft

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 de classe de base accessibles sont considérées pendant la phase de résolution de surcharge, et la fonction qui fournit la meilleure correspondance est celle qui est appelée.

__super peut apparaître uniquement dans le corps d'une fonction membre.

__super ne peut pas être utilisé avec une déclaration using. Pour plus d'informations, consultez using, déclaration.

Avec l'introduction des attributs qui injectent du code, celui-ci peut contenir une ou plusieurs classes de base dont vous pouvez ignorer les noms mais qui contiennent des méthodes que vous souhaitez appeler.

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

FIN de la section spécifique à Microsoft

Voir aussi

Référence

Mots clés C++