RUNTIME_CLASS

来源:百度文库 编辑:神马文学网 时间:2024/04/25 07:47:10
RUNTIME_CLASS( class_name )

参数: class_name 类的实际名字(不用引号括起来)。

说明:
利用这个宏通过C++类的名字获得一个运行时类结构。
RUNTIME_CLASS为class_name指定的类返回一个指向CRuntimeClass结构的指针。只有用DECLARE_DYNAMIC,DECLARE_DYNCREATE或DECLARE_SERIAL定义的CObject的派生类才能返回CRuntimeClass结构指针。
更多的信息参见“Visual C++程序员指南”中的“CObject类”主题。

示例:
// RUNTIME_CLASS的例子
CRuntimeClass* prt = RUNTIME_CLASS( CAge );
ASSERT( lstrcmp( prt->m_lpszClassName, "CAge" ) == 0 );

请参阅:
DECLARE_DYNAMIC, DECLARE_DYNCREATE, DECLARE_SERIAL, CObject::GetRuntimeClass, CRuntimeClass

 

-------------------------------------

读一读侯捷的深入浅出MFC吧。。。

RUNTIME_CLASS是一个宏,
它的用法是
RUNTIME_CLASS( class_name )
返回参数所指定类的CRuntimeClass结构指针。
只有从CObject派生来,并且在类定义中使用用DECLARE_DYNAMIC, DECLARE_DYNCREATE, 或者DECLARE_SERIAL的类才可以使用RUNTIME_CLASS。。。

RUNTIME_CLASS returns a pointer to a CRuntimeClass structure for the class specified by class_name. Only CObject-derived classes declared with DECLARE_DYNAMIC, DECLARE_DYNCREATE, or DECLARE_SERIAL will return pointers to a CRuntimeClass structure.

举例如下:
// example for RUNTIME_CLASS
CRuntimeClass* prt = RUNTIME_CLASS( CAge );