Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Avez-vous trouvé une faille de sécurité ? )
Ne serait-il pas préférable d'utiliser le polymorphisme?
En fait, c'est approximatif :
Le problème est que les classes héritières CChartObjectRectLabel, CChartObjectButton et CChartObjectEdit ont leurs propres méthodes auxquelles il faut accéder. Et la classe de base CChartObject de la bibliothèque standard n'a pas les mêmes méthodes virtuelles.
Sur mon exemple ci-dessus...
accéder aux méthodes des classes héritières ?
...il en résulte ceci :
Oui. Il n'est pas très orthodoxe de lancer directement comme cela. Dans les plus, il y a dynamic_cast spécifiquement pour ce but, ici vous ne pouvez pas le caser complètement correctement et c'est une source potentielle d'erreurs implicites et sérieuses. Et pour être sérieux, ce n'est pas beaucoup mieux que les pointeurs et références non sécurisés.
Oui, avant de poser une question ici sur le forum, j'ai trouvé sur le net que le C++ possède l'opérateur dynamic_cast (un mécanisme d'identification dynamique des données).
Maintenant, je regarde le lien ci-dessus :
C'est donc une condition obligatoire ? Et s'il n'y a pas de méthodes virtuelles dans la classe de base, alors dynamic_cast ne fonctionnera pas ?
P.S. >>> Je suis en train de lire plus d'informations sur dynamic_cast (MSDN).
Merde, et vous parlez de sécurité du langage après ça ?
Vous pensez probablement que vous pouvez librement faire des castings vers n'importe quoi comme en C/C++.
Ce n'est pas le cas et il n'y a rien de mal à la sécurité.
Vous pensez probablement que vous pouvez librement convertir en n'importe quoi comme en C/C++.
Ce n'est pas le cas et il n'y a rien de mal à la sécurité.
J'ai obtenu cette erreur par accident, ce qui semble confirmer vos propos. )
Ce n'est pas le cas et il n'y a rien de mal à la sécurité.
Non, il est impossible de vérifier dynamic_cast à la compilation.
Le commentaire ci-dessus montre le résultat de la vérification du casting dans rantime.
Il est très rigide, il fonctionne sur le mécanisme RTTI, parce que nous savons exactement qui est qui dans le cas des fantômes.
Le commentaire ci-dessus montre le résultat de la vérification du casting dans rantime.