Section courante

A propos

Section administrative du site

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 !
  1. #include <iostream>
  2.  
  3. class A {
  4.     public:
  5.         virtual void mafonction() {
  6.         }
  7. };
  8.  
  9. class B : public A {
  10.     public:
  11.         int getValue() {
  12.             return 2;
  13.         }
  14. };
  15.  
  16. void my_function(A& mon_a)
  17. {
  18.      B& mon_b = dynamic_cast<B&>(mon_a);
  19. }
  20.  
  21. int main()
  22. {
  23.     B mon_b;
  24.     my_function(mon_b);
  25.     std::cout << "Valeur de B = " << mon_b.getValue() << std::endl;
  26.     return 0;
  27. }

on obtiendra le résultat suivant :

Valeur de B = 2

Voir é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