Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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.
Syntaxe
__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
ne peut apparaître qu’au sein du corps d’une fonction membre.
__super
ne peut pas être utilisé avec une déclaration using. Pour plus d’informations, consultez La déclaration .
Avec l’introduction d’attributs qui injectent du code, votre code peut contenir une ou plusieurs classes de base dont vous ne connaissez peut-être pas 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