CObject::GetRuntimeClass

virtual CRuntimeClass* GetRuntimeClass( ) const;

返回值:返回对应于该对象类的CRuntimeClass结构的指针,不会为NULL。

说明:
对于每个CObject派生的类,都有一个CRuntimeClass结构。该结构成员如下:
·LPCSTR m_lpszClassName包含ASCII类名的以空值为终止符的字符串。
·int m_nObjectSize以字节数表示的对象的大小。如果对象有指向分配内存的数据成员,那么将不包括内存的大小。
·UINT m_wSchema图解号(对于非串行化类,该值为-1)。请参阅IMPLEMENT _SERIAL宏以获取图解号的详细描述。
·CObject* ( PASCAL* m_pfnCreateObject )( )
      指向缺省构造函数的函数指针,用于创建你自己类的对象(仅仅当类支持动态创建时有效,否则将返回NULL)。

·CRuntimeClass* ( PASCAL* m_pfn_GetBaseClass )( )
      如果应用动态链接到MFC的AFXDLL形式,那么将返回基类CRuntimeClass结构的函数指针。

·CRuntimeClass* m_pBaseClass如果应用静态地链接到MFC,那么将返回基类CRuntimeClass结构的指针。
    专业和企业版中独有的功能  仅仅Visual C++专业和企业版支持静态地链接到MFC中。如果需要更多信息,请参阅Visual C++ Editions。
该函数在类的执行过程中需要使用IMPLEMENT_DYNAMIC或IMPLEMENT_SERIAL宏,否则,将得不到正确的结果。

示例:请参阅CObList::CObList,了解所有CObject示例中使用的CAge类。
// example for CObject::GetRuntimeClass
CAge a(21);
CRuntimeClass* prt = a.GetRuntimeClass();
ASSERT( strcmp( prt->m_lpszClassName, "CAge" ) == 0 );

请参阅:CObject::IsKindOf, RUNTIME_CLASS