Udostępnij za pośrednictwem


CObject::GetRuntimeClass

Zwraca CRuntimeClass strukturę odpowiadającą klasa tego obiektu.

virtual CRuntimeClass* GetRuntimeClass( ) const;

Wartość zwracana

Wskaźnik do CRuntimeClass strukturze tego obiektu klasy; nigdy nie NULL.

Uwagi

Istnieje CRuntimeClass struktury dla każdego CObject-klasy.Członkowie struktury są następujące:

  • LPCSTR m_lpszClassName ciąg zawierający nazwę klasy ASCII, zakończony znakiem null.

  • int m_nObjectSize rozmiar obiektu, w bajtach.Jeśli obiekt ma członków danych odnoszących się do alokacji pamięci, rozmiaru tej pamięci nie jest włączone.

  • UINT, m_wSchema numer schematu (– 1 dla klasy nonserializable).Zobacz IMPLEMENT_SERIAL makro opis numer schematu.

  • CObject * (PASCAL * m_pfnCreateObject) () wskaźnik funkcji konstruktora domyślnego, który tworzy obiekt klasy (prawidłowa tylko wtedy, gdy klasa obsługuje tworzenie dynamicznych; w przeciwnym razie zwraca NULL).

  • CRuntimeClass * (PASCAL * m_pfn_GetBaseClass) () aplikacja dynamicznie połączone z AFXDLL wersję biblioteki MFC, wskaźnik do funkcji zwracającą CRuntimeClass strukturę klasy podstawowej.

  • CRuntimeClass * m_pBaseClass Jeśli aplikacja jest połączony statycznie MFC wskaźnik do CRuntimeClass strukturę klasy podstawowej.

Ta funkcja wymaga korzystania z IMPLEMENT_DYNAMIC, IMPLEMENT_DYNCREATE, lub IMPLEMENT_SERIAL makro w implementacji klasy.W przeciwnym razie otrzymasz niepoprawnych wyników.

Przykład

Zobacz CObList::CObList listę CAge w całej klasy CObject przykłady.

CAge a(21);
CRuntimeClass* prt = a.GetRuntimeClass();
ASSERT(strcmp(prt->m_lpszClassName, "CAge")  == 0);   

Wymagania

Nagłówek: afx.h

Zobacz też

Informacje

Klasa CObject

Diagram hierarchii

CObject::IsKindOf

RUNTIME_CLASS