CObject::GetRuntimeClass
Retourne la structure d' CRuntimeClass correspondant à cette classe d'objet.
virtual CRuntimeClass* GetRuntimeClass( ) const;
Valeur de retour
Un pointeur vers une structure de CRuntimeClass correspondant à cette classe d'objets ; jamais NULL.
Notes
Il existe une structure d' CRuntimeClass pour chaque CObjectclasse dérivée. Les membres de structures sont les suivantes :
Chaîne terminée par le caractère NULL deLPCSTR m_lpszClassName Un contenant le nom de classe ASCII.
int m_nObjectSize la taille de l'objet, en octets. Si l'objet possède des données membres qui indiquent la mémoire allouée, la taille de la mémoire n'est pas incluse.
UINT m_wSchema le nombre de schéma schéma (– 1 pour les classes nonserializable). Consultez la macro d' IMPLEMENT_SERIAL pour une description du nombre de schéma schéma.
Pointeur fonction deCObject* ( PASCAL* m_pfnCreateObject )( ) Un au constructeur par défaut qui crée un objet de votre classe (valide uniquement si la classe prend en charge la création dynamique ; sinon, retourne NULL).
CRuntimeClass* ( PASCAL* m_pfn_GetBaseClass )( ) si votre application de manière dynamique liée à la version de AFXDLL MFC, un pointeur vers une fonction qui retourne la structure d' CRuntimeClass de la classe de base.
CRuntimeClass* m_pBaseClass si votre application est liée de manière statique aux MFC, un pointeur vers la structure d' CRuntimeClass de la classe de base.
Cette fonction nécessite l'utilisation de la macro d' IMPLEMENT_DYNAMIC, d' IMPLEMENT_DYNCREATE, ou d' IMPLEMENT_SERIAL dans l'implémentation de classe. Vous obtiendrez des résultats incorrects sinon.
Exemple
Consultez CObList::CObList pour obtenir l'intégralité de la classe d' CAge utilisée dans les exemples d' CObject .
CAge a(21);
CRuntimeClass* prt = a.GetRuntimeClass();
ASSERT(strcmp(prt->m_lpszClassName, "CAge") == 0);
Configuration requise
Header: afx.h