Comment : déclarer des spécificateurs de substitution dans les compilations natives (C++/CLI)
sealed, abstract et override sont disponibles dans les compilations qui n’utilisent pas /ZW ou /clr.
Remarque
Le langage ISO C++11 Standard a l’identificateur de remplacement et l’identificateur final , et les deux sont pris en charge dans Visual Studio Use final
au lieu du sealed
code destiné à être compilé en mode natif uniquement.
Exemple : sealed est valide
Description
L’exemple suivant montre qu’il sealed
est valide dans les compilations natives.
Code
// sealed_native_keyword.cpp
#include <stdio.h>
__interface I1 {
virtual void f();
virtual void g();
};
class X : public I1 {
public:
virtual void g() sealed {}
};
class Y : public X {
public:
// the following override generates a compiler error
virtual void g() {} // C3248 X::g is sealed!
};
Exemple : le remplacement est valide
Description
L’exemple suivant montre qu’il override
est valide dans les compilations natives.
Code
// override_native_keyword.cpp
#include <stdio.h>
__interface I1 {
virtual void f();
};
class X : public I1 {
public:
virtual void f() override {} // OK
virtual void g() override {} // C3668 I1::g does not exist
};
Exemple : le résumé est valide
Description
Cet exemple montre qu’il abstract
est valide dans les compilations natives.
Code
// abstract_native_keyword.cpp
class X abstract {};
int main() {
X * MyX = new X; // C3622 cannot instantiate abstract class
}
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