Bonjour à tous,
J’ai un pointeur sur une class de base et j’aimerai déterminer s’il désigne un type particulier d’une des class dérivée directe. Comment puis je effectuer ce teste ?
Version imprimable
Bonjour à tous,
J’ai un pointeur sur une class de base et j’aimerai déterminer s’il désigne un type particulier d’une des class dérivée directe. Comment puis je effectuer ce teste ?
Salut,
Gabrielly :DCitation:
if( pBaseClass->IsKindOf(RUNTIME_CLASS(CDerivedClass) )
AfxMessageBox("Ce pointeur sur CBaseClass désigne bien un CDerivedClass");
else
AfxMessageBox("Je me suis trompé de classe dérivée");
salut ,
pour IsKindof
a condition que la classe soit dérivée de CObject et utilise une des macros:
IMPLEMENT_DYNAMIC, IMPLEMENT _DYNCREATE, IMPLEMENT_SERIAL
sinon voir le mecanisme RTTI
voir faq : http://c.developpez.com/faq/vc/?page=IDE#SetRTTI
:D
Merci
:P