为什么要这样写CRuntimeClass* CRuntimeClass::pFirstClass = NULL; ??? CRuntimeClass* CRuntimeClass::pFirstClass = NULL;这个前面的CRuntimeClass* 到底有什么用呢?请好人指导!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CAge a(21);CRuntimeClass* prt = a.GetRuntimeClass();ASSERT( strcmp( prt->m_lpszClassName, "CAge" ) == 0 ); 运行时类,依照侯俊杰先生的“深入浅出MFC“的上面的,每个类在建立以后使用一定的宏建立一张类的“类别型录网“,它是一个数据结构,里面定义着内存中的情况;它的父类;后续指针等信息。可以根据这张网在运行时去查找类的归属情况(属于哪个类,继承与哪里等),这是“类别型录网“的指针。 struct CRuntimeClass{ LPCSTR m_lpszClassName; int m_nObjectSize; ................. .................}这是一个结构它与DECLARE_DYNAMIC/IMPLEMENT_DYNAMIC这两个宏有关。具体你最好看一下,深入浅出MFC。 关于CRuntimeClass* CRuntimeClass::pFirstClass = NULL;就是<<深入浅出MFC>>上的我不明白如果是设初始值为什么不直接CRuntimeClass::pFirstClass = NULL;而要在前面加CRuntimeClass* 呢? CRuntimeClass::pFirstClass = NULL; 那麽它的类型是什麽呢??CRuntimeClass*是它的类型,指针类型。 多路串口并行操作问题 如何读去取出一个文件中的16进制数 如何实现鼠标拖动图片 高分求助:医疗图象软件注册标准资料!(为了申请医疗器械产品注册许可证用) 新增的类在ClassWizard里为什么看不到 使用ado当字段值为空时如何处理? 如果两个头文件互相包含了怎么办 CMap 容器的Size问题 串口编程显示接收数据不在一行显示 如何在CRichEditCtrl中粘贴内容? 使用Csocket可以连接多少个服务端? 请问如何从sql server中读出decimal类型的值
CRuntimeClass* prt = a.GetRuntimeClass();
ASSERT( strcmp( prt->m_lpszClassName, "CAge" ) == 0 );
{
LPCSTR m_lpszClassName;
int m_nObjectSize;
.................
.................}
这是一个结构
它与DECLARE_DYNAMIC/IMPLEMENT_DYNAMIC这两个宏有关。
具体你最好看一下,深入浅出MFC。
就是<<深入浅出MFC>>上的我不明白如果是设初始值为什么不直接
CRuntimeClass::pFirstClass = NULL;
而要在前面加CRuntimeClass* 呢?
CRuntimeClass*是它的类型,指针类型。