DYNAMIC_CAST |
Castre dynamique |
---|---|
ISO C++98 |
Syntaxe
postfix-expr := dynamic_cast < type-id > ( expression ) |
Paramètres
Nom | Description |
---|---|
postfix-expr | Ce paramètre permet d'indiquer l'expression post fixe. |
expression | Ce paramètre permet d'indiquer l'expression |
type-id | Ce paramètre permet d'indiquer un identificateur de type. |
Description
Ce mot réservé permet d'effectuer une opération d'un castre polymorphique d'un pointeur ou d'une référence sur un objet d'un type de classe.
Exemple
Cet exemple permet d'indiquer comment retourner une valeur :
Essayer maintenant !
- #include <iostream>
-
- class A {
- public:
- virtual void mafonction() {
- }
- };
-
- class B : public A {
- public:
- int getValue() {
- return 2;
- }
- };
-
- void my_function(A& mon_a)
- {
- B& mon_b = dynamic_cast<B&>(mon_a);
- }
-
- int main()
- {
- B mon_b;
- my_function(mon_b);
- std::cout << "Valeur de B = " << mon_b.getValue() << std::endl;
- return 0;
- }
on obtiendra le résultat suivant :
Valeur de B = 2Voir également
Langage de programmation - C++ - Références de mots réservés (mots clefs) - const_cast
Langage de programmation - C++ - Références de mots réservés (mots clefs) - reinterpret_cast
Langage de programmation - C++ - Références de mots réservés (mots clefs) - static_cast
Dernière mise à jour : Lundi, le 3 août 2015