CRuntimeClass

CRuntimeClass має базового класу.

Кожен клас, отриманих від CObject , пов'язаних з CRuntimeClass структури, які можна використовувати для отримання інформації про об'єкт або її базового класу під час виконання. Можливість визначити клас об'єкта під час виконання є корисним, коли необхідно додатковий тип перевірки аргументів функції, або коли ви повинні написати код спеціального призначення на основі класу об'єкта. Під час клас інформація не підтримується безпосередньо мови Сі + +.

Структура має такі елементи:

LPCSTR m_lpszClassName

Нульовим рядок, який містить ім'я класу ASCII.

int m_nObjectSize

Розмір об'єкта, в байтах. Якщо об'єкт має члени дані цієї точки на виділену пам'ять, розмір пам'яті, що не є включено.

UINT m_wSchema

Схеми номер (для nonserializable класів, – 1). Див IMPLEMENT_SERIAL макросу Опис схеми номер.

CObject * (ПАСКАЛЬ * m_pfnCreateObject))

Функція вказівник на за замовчуванням Конструктор, що створює об'єкт вашого класу (дійсні тільки якщо клас підтримує динамічного створення; інакше, повертає NULL).

CRuntimeClass * (ПАСКАЛЬ * m_pfn_GetBaseClass))

Якщо ваша заявка динамічно зв'язується AFXDLL Версія MFC, вказівник на функцію, яка повертає CRuntimeClass структуру базового класу.

CRuntimeClass * m_pBaseClass

Якщо ваша заявка статично пов'язана MFC, вказівник на структуру CRuntimeClass базовий клас.

Функція лише у професійних і підприємство видань   Статичні посилання на MFC підтримується лише в Visual C++ Professional і підприємство видань. Докладніше, перегляньте статтю Visual C++ видань.

CObject * CreateObject);

Класи, отриманих від CObject може підтримати динамічного створення, який є можливість створення об'єкта класу, указаний під час виконання. Документа, вигляд і класи кадру, наприклад, повинен підтримувати динамічного створення. Член функція CreateObject використовується для реалізації цієї функції та створювати об'єкти для цих класів під час виконання, час. Докладніше на динамічному створенні та член CreateObject , перегляньте CObject клас теми і CObject клас: визначення рівня функціональності в Visual C++ програміста керівництво.

BOOL IsDerivedFrom (константа CRuntimeClass * pBaseClass) константа;

Повертає TRUE , якщо клас член класу, зателефонувавши IsDerivedFrom походить від базового класу, структура яких CRuntimeClass отримує як параметр. IsDerivedFrom ходить з класу члена вгору по ланцюжку похідних класів аж до вершини і повертає брехня , якщо відповідності не було знайдено за базовий клас.

Приміткаnbsp;  Використовувати CRuntimeClass структури, IMPLEME&NT_DYNAMIC, IMPLEMENT_DYNCREATEабо IMPLEMENT_SERIAL макросів необхідно включити в реалізації класу, для яких ви хочете, щоб отримати відомості про об'єкт під час.

Щоб отримати додаткові відомості про використання CRuntimeClass, перегляньте статтю CObject клас: доступ до інформації про клас під час в Visual C++ програміста керівництво.

Ієрархічна діаграма

Дивіться такожnbsp;CObject::GetRuntimeClass, CObject::IsKindOf, RU&NTIME_CLASS, IMPLEMENT_DYNAMIC, IMPLEMENT_DYNCREATE, IMPLEMENT_SERIAL

Index