View Full Version : [C++]dynamic_cast???
Kleidemos
01-04-2003, 16:41
A cosa serve in c++ dynamic_cast< tipo >( ) ???????
/\/\@®¢Ø
01-04-2003, 20:06
Il dynamic_cast server pe cambiare il tipo di un puntatore o di un riferimento ad un oggetto in modo "controllato".
Ci sono diverse occasioni in cui questo puo' accadere: ad esempio hai un puntatore ad un oggetto di un certo tipo e vuoi provare a convertirlo in un oggetto di una classe derivata.
Ti faccio un esempio pratico
supponi ad esempio di avere tre classi , A B e C, con B e C che sono in realta' sottoclassi di A:
A
/ \
B C
e supponiamo che tu abbia un puntatore ad un oggetto di tipo A.
code]
A* x;
/* ... */
B* y = dynamic_cast<B*( x );
[/code]
dynamic_cast<B*>(x) ritorna un puntatore valido solo se x e' effettivamente un oggetto di ti po B. Se invece x e' di tipo A o tipo C, viene ritornato un puntatore nullo.
Spero di essermi chiarito a sufficienza...
ciao
Marco
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.