ifren
Messages postés37Date d'inscriptionjeudi 15 mai 2003StatutMembreDernière intervention25 août 2003
-
13 juin 2003 à 09:49
cs_dominion
Messages postés230Date d'inscriptionmardi 21 janvier 2003StatutMembreDernière intervention15 mai 2008
-
28 mars 2004 à 21:05
Comment reconnaitre a l'execution type vers qui le pointeur pointe
merci
trinitacs
Messages postés249Date d'inscriptionmardi 16 juillet 2002StatutMembreDernière intervention 7 août 20032 13 juin 2003 à 13:45
-------------------------------
Réponse au message :
tu utilise l'opérateur de comparaison tout simplement.
if ( a == &( A1 ) )
if ( a == &( A2 ) )
-------------------------------
> ok,
> j'ai une class A elle donne naissance a deux class A1 et A2
>
> j'ai un code comme suit
>
> A* a
> qui pointe vers l'un des deux class filles
>
> bon je veux connaitre vers quel class il pointe
>
>
> soyant heureux
> faisant fortune
> :big)
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > peux-tu être plus claire car moi ne comprends pas bien
> >
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Comment reconnaitre a l'execution type vers qui le pointeur pointe
> > > merci
> > >
> > >
> > > soyant heureux
> > > faisant fortune
> > > :big)
> >
>
monk31
Messages postés5Date d'inscriptionmardi 26 mars 2002StatutMembreDernière intervention13 juin 2003 13 juin 2003 à 14:11
pour connaitre le type de l'objet pointé a, il faut déjà que tes classes A, A1 et A2 soient des classes polymorphes (c'est à dire avec fonctions virtuelles). de plus, il faut activer l'option RTTI du compilateur (Run Time Type Information) et ensuite tu utilises l'opérateur dynamic_cast pour savoir quel est l'objet pointé:
A* a = new A1;
A1* a1=dynamic_cast(a);
A2* a2=dynamic_cast(a);
le résultat du dynamic_cast te retournera NULL si ce n'est pas le bon cast.
Vous n’avez pas trouvé la réponse que vous recherchez ?