CRuntimeClass

CRuntimeClass verfügt nicht über eine Basisklasse.

Jedes von CObject abgeleitete Klasse ist ein CRuntimeClass -Struktur, die Sie verwenden können, um Informationen über ein Objekt oder seiner Basisklasse zur Laufzeit zu erhalten. Die Möglichkeit, die Klasse eines Objekts zur Laufzeit zu bestimmen ist nützlich, wenn zusätzliche Typüberprüfung der Argumente der Funktion erforderlich ist, oder wenn Sie spezifische Code basierend auf der Klasse des Objekts schreiben müssen. Laufzeit-Klasseninformationen wird direkt von der C++-Sprache nicht unterstützt.

Die Struktur hat die folgenden Mitglieder:

LPCSTR m_lpszClassName

Eine Null-terminierte Zeichenfolge mit der ASCII-Klassenname.

int m_nObjectSize

Die Größe des Objekts in Byte. Wenn das Objekt Daten Mitglieder dahin auf reservierten Speicher verfügt, ist die Größe der, dass der Speicher nicht enthalten.

UINT m_wSchema

Die Schema-Anzahl (– 1 für serialisierbaren Klassen). Finden Sie das IMPLEMENT_SERIAL -Makro für eine Beschreibung der die Schema-Anzahl.

CObject (PASCAL M_pfnCreateObject))

Ein Funktionszeiger auf der Standardkonstruktor, der ein Objekt der Klasse erstellt (gültig nur, wenn die Klasse dynamische Erstellung unterstützt; andernfalls zurückgegeben NULL).

CRuntimeClass (PASCAL M_pfn_GetBaseClass))

Wenn Ihre Anwendung dynamisch mit der AFXDLL-Version von MFC verknüpft ist, einen Zeiger auf eine Funktion zurückgibt, die die Struktur CRuntimeClass der Basisklasse.

CRuntimeClass * m_pBaseClass

Wenn Ihre Anwendung statisch mit MFC, ein Zeiger auf das CRuntimeClass -Struktur der base-Klasse verknüpft ist.

Funktion nur in der Professional Edition und Enterprise Edition&Nbsp;  Statische Verknüpfung mit MFC wird nur in Visual C++ Professional und Enterprise-Editionen unterstützt. Weitere Informationen finden Sie unter Visual C++-Editionen.

CObject CreateObject);

Von CObject abgeleitete Klassen unterstützen dynamische Erstellung, ist die Möglichkeit, ein Objekt einer Klasse zur Laufzeit zu erstellen. Dokument-, Ansichts- und Frame-Klassen sollten beispielsweise dynamische Erstellung unterstützen. Die CreateObject -Memberfunktion kann zum Implementieren dieser Funktion und Erstellen von Objekten für diese Klassen während der Laufzeit verwendet werden. Weitere Informationen über dynamische Erstellung und der CreateObject -Member finden Sie unter CObject-Klasse-Themen und CObject-Klasse: Angeben von Ebenen der Funktionalität im Visual C++ Programmer's Guide.

BOOL IsDerivedFrom (const CRuntimeClass * pBaseClass) const;

Gibt TRUE zurück, wenn die Member der Klasse aufrufen IsDerivedFrom -Klasse von der Basisklasse abgeleitet ist deren CRuntimeClass -Struktur als Parameter angegeben ist. IsDerivedFrom geht von der Elementklasse Kette von abgeleiteten Klassen ganz nach oben und gibt FALSE zurück, nur, wenn keine Übereinstimmung, die Basisklasse gefunden wird.

Hinweis&Nbsp;  Um die CRuntimeClass -Struktur verwenden, müssen Sie das IMPLEMENT_SERIAL , IMPLEMENT_DYNAMICoder IMPLEMENT_DYNCREATE-Makro in der Implementierung der Klasse einschließen für die Laufzeit-Objekt abgerufen werden sollen.

Weitere Informationen zur Verwendung von CRuntimeClassfinden Sie im Artikel CObject-Klasse: Run-Time-Klasseninformationen Zugriff auf im Visual C++ Programmer's Guide.

Hierarchiediagramm

Siehe auch&Nbsp;CObject::GetRuntimeClass, CObject::IsKindOf, RUNTIME_CLASS, IMPLEMENT_DYNAMIC, IMPLEMENT_DYNCREATE, IMPLEMENT_SERIAL

Index