__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.
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
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour