CObject::GetRuntimeClass
Gibt die CRuntimeClass-Struktur entsprechend dem Objekts zurück.
virtual CRuntimeClass* GetRuntimeClass( ) const;
Rückgabewert
Ein Zeiger auf die CRuntimeClass-Struktur entsprechend dem Objekts; nie NULL.
Hinweise
Es gibt eine CRuntimeClass-Struktur für jedes CObject von abgeleitete Klasse. Die Strukturmember sind, wie folgt:
Auf NULL endende Zeichenfolge LPCSTR m_lpszClassName A, die den ASCII-Klassennamen enthält.
int m_nObjectSize die Größe des Objekts, in Bytes. Wenn das Objekt Datenmember besitzt, die dem reservierten Speicher zeigen, wird die Größe des Arbeitsspeichers nicht eingeschlossen.
UINT m_wSchema die Schemazahl (- 1 für nonserializable Klassen). Siehe das IMPLEMENT_SERIAL-Makro für eine Beschreibung der Schemazahl.
Funktionszeiger CObject* ( PASCAL* m_pfnCreateObject )( ) A den Standardkonstruktor, der ein Objekt der Klasse erstellt (nur gültig, wenn die Klasse dynamische Erstellung unterstützt; andernfalls zurück NULL).
CRuntimeClass* ( PASCAL* m_pfn_GetBaseClass )( ), wenn die Anwendung dynamisch zur AFXDLL-Version von MFC verknüpft ist, ein Zeiger auf eine Funktion, die die CRuntimeClass-Struktur der Basisklasse zurückgibt.
CRuntimeClass* m_pBaseClass, wenn die Anwendung statisch mit MFC verknüpft ist, einen Zeiger auf die CRuntimeClass-Struktur der Basisklasse.
Diese Funktion erfordert die Verwendung von dem IMPLEMENT_DYNAMIC, IMPLEMENT_DYNCREATE oder IMPLEMENT_SERIAL-Makro in der Klassenimplementierung. Sie rufen falsche Ergebnisse andernfalls ab.
Beispiel
Siehe CObList::CObList für Listen der CAge-Klasse, die in allen CObject Beispielen verwendet wird.
CAge a(21);
CRuntimeClass* prt = a.GetRuntimeClass();
ASSERT(strcmp(prt->m_lpszClassName, "CAge") == 0);
Anforderungen
Header: afx.h