CRuntimeClass

CRuntimeClass nie klasy podstawowej.

Każda klasa pochodzi od CObject jest skojarzony z strukturą CRuntimeClass , który służy do uzyskiwania informacji na temat obiektu lub jego klasy podstawowej w czasie wykonywania. Możliwość określenia klasy obiektu w czasie wykonywania jest przydatne, gdy potrzebna jest dodatkowa typu sprawdzania argumentów funkcji lub gdy należy napisać kod celowej na podstawie klasy obiektu. Klasy Run-time nie jest obsługiwana bezpośrednio przez języka C++.

Struktura ma następujący członkowie:

LPCSTR m_lpszClassName

Ciąg zakończony zerem, zawierający nazwę klasy ASCII.

int m_nObjectSize

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

UINT m_wSchema

Numer schematu (–1 dla klasy nonserializable). Zobacz makra IMPLEMENT_SERIAL opis numer schematu.

CObject * (PASCAL * m_pfnCreateObject))

Wskaźnik funkcji konstruktora domyślnego, który tworzy obiekt klasy (ważny tylko wtedy, gdy klasa obsługuje dynamiczne tworzenie; w przeciwnym razie zwraca NULL).

CRuntimeClass * (PASCAL * m_pfn_GetBaseClass))

Jeżeli aplikacji to połączona dynamicznie do wersji AFXDLL MFC, wskaźnik do funkcji, która zwraca struktury CRuntimeClass klasy podstawowej.

CRuntimeClass * m_pBaseClass

Jeżeli aplikacji jest łączony statycznie do MFC, wskaźnika do struktury CRuntimeClass klasy podstawowej.

Tylko do fu&nkcji w Professional i Enterprise Editionsnbsp;  Statyczne łączenie MFC jest obsługiwany tylko w Visual C++ Professional i Enterprise. Aby uzyskać więcej informacji, zobacz Visual C++ wersje.

CObject * CreateObject ().;

Klasy pochodzące od CObject może wspierać tworzenie dynamicznych, która jest możliwość tworzenia obiektu klasy określonej w czasie wykonywania. Dokument, widok i ramki klas, na przykład powinny wspierać tworzenie dynamicznych. Funkcja Członkowskie CreateObject może służyć do wykonania tej funkcji i tworzenie obiektów dla tych klas w czasie wykonywania. Aby uzyskać więcej informacji na temat tworzenia dynamicznych i członek CreateObject , zobacz CObject klasy tematy i CObject klasy: określenie poziomów funkcjonalności w Visual C++ Programmer's Guide.

BOOL IsDerivedFrom (const CRuntimeClass * pBaseClass) stała;

Zwraca wartość TRUE , jeśli klasa członek klasy wywołanie IsDerivedFrom pochodzi od klasy podstawowej, którego struktura CRuntimeClass jest podany jako parametr. IsDerivedFrom chodniki z klasy członka łańcucha klas pochodnych do góry i zwraca wartość FALSE , tylko wtedy, gdy nie znaleziono dla klasy podstawowej.

Uwaganbsp;  Aby użyć strukturę CRuntimeClass , musi zawierać makra IMPLEME&NT_DYNAMIC, IMPLEMENT_DYNCREATElub IMPLEMENT_SERIAL w implementacji klasy, dla którego chcesz pobrać informacje o obiekcie run-time.

Aby uzyskać więcej informacji na temat używania CRuntimeClass, zobacz artykuł CObject klasy: dostęp do informacji klasy Run-Time w Visual C++ Programmer's Guide.

Wykres hierarchii

Zobacz teżnbsp;CObject::GetRuntimeClass, CObject::IsKindOf, RU&NTIME_CLASS, IMPLEMENT_DYNAMIC, IMPLEMENT_DYNCREATE, IMPLEMENT_SERIAL

Index