Поделиться через


CObject::GetRuntimeClass

Возвращает структуру CRuntimeClass, соответствующий этому классу объекта.

virtual CRuntimeClass* GetRuntimeClass( ) const;

Возвращаемое значение

Указатель на структуру CRuntimeClass, соответствующий этому классу объекта. никогда NULL.

Заметки

Одна структура для каждого CObject- производный класс CRuntimeClass. Члены структуры следующим образом:

  • Строка, содержащая LPCSTR m_lpszClassName null- завершенная а имя класса ASCII.

  • int m_nObjectSize Размер объекта в байтах. Если объект содержит элементы данных, которые указывают на область памяти, размер этой памяти не включен.

  • UINT m_wSchema Номер схемы (– 1 nonserializable классов). См. раздел IMPLEMENT_SERIAL макрос для описания числа схем.

  • Указатель функции CObject* ( PASCAL* m_pfnCreateObject )( ) а в конструктор по умолчанию, создающий объект класса (допустимым только в том случае, если класс поддерживает динамическое создание; в противном случае передачи NULL).

  • CRuntimeClass* ( PASCAL* m_pfn_GetBaseClass )( ) Если приложение динамически связано к версии AFXDLL MFC, указатель на функцию, которая возвращает структуру CRuntimeClass базового класса.

  • CRuntimeClass* m_pBaseClass Если приложение является статически связано с MFC, указатель на структуру CRuntimeClass базового класса.

Эта функция требует использования макроса IMPLEMENT_DYNAMIC, IMPLEMENT_DYNCREATE или IMPLEMENT_SERIAL в реализации данного класса. Доступ к неверным результатам в противном случае.

Пример

См. перечисление CObList::CObList для класса CAge, используемого во всех примерах CObject.

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

Требования

Header: afx.h

См. также

Ссылки

Класс CObject

Диаграмма иерархии

CObject::IsKindOf

RUNTIME_CLASS