MFC运行时类型信息相关类
2008-12-24 15:10
155 查看
Some guys seem to be unsatisfied to use MFC, they prefer to use pure Win32 C++. But in some domains, MFC or similar framework will be a necessary option. The runtime class information is one of this domains.
只需要关注这两个类:CObject,CRuntimeClass
所有有这种需求的类,请都从CObject类派生,并且,从CObject类派生的类不允许多重继承。
从CObject类派生的类有四个级别:
1:诊断内存管理;直接从CObject类派生
2:诊断内存管理+运行时类信息;头文件中使用DECLARE_DYNAMIC宏;实现文件中使用IMPLEMENT_DYNAMIC宏
3:诊断内存管理+运行时类信息+动态创建;头文件中使用DECLARE_DYNCREATE宏;实现文件中使用IMPLEMENT_DYNCREATE宏
4:诊断内存管理+运行时类信息+动态创建+串行化;头文件中使用DECLARE_SERIAL宏;实现文件中使用IMPLEMENT_SERIAL宏
CObject类相关函数:
IsSerializable:对象是否能够被序列化
Serialize:序列化
GetRuntimeClass:返回与该对象有关的CRuntime结构
IsKindOf:测试该对象与一给定类的关系
CRuntimeClass类的成员
m_lpszClassName:类的名字
m_nObjectSize:对象的大小
m_pBaseClass:指向基类的CRuntimeClass结构的指针
m_pfnCreateObject:一个指向动态创建对象的函数指针
m_pfnGetBaseClass:返回CRuntimeClass结构
m_wSchema:类的版本号
CreateObject:在运行时创建一个对象
FromName:在运行时使用熟悉的类名创建一个对象
IsDerivedFrom:确定该类是否派生于指定的类
只需要关注这两个类:CObject,CRuntimeClass
所有有这种需求的类,请都从CObject类派生,并且,从CObject类派生的类不允许多重继承。
从CObject类派生的类有四个级别:
1:诊断内存管理;直接从CObject类派生
2:诊断内存管理+运行时类信息;头文件中使用DECLARE_DYNAMIC宏;实现文件中使用IMPLEMENT_DYNAMIC宏
3:诊断内存管理+运行时类信息+动态创建;头文件中使用DECLARE_DYNCREATE宏;实现文件中使用IMPLEMENT_DYNCREATE宏
4:诊断内存管理+运行时类信息+动态创建+串行化;头文件中使用DECLARE_SERIAL宏;实现文件中使用IMPLEMENT_SERIAL宏
CObject类相关函数:
IsSerializable:对象是否能够被序列化
Serialize:序列化
GetRuntimeClass:返回与该对象有关的CRuntime结构
IsKindOf:测试该对象与一给定类的关系
CRuntimeClass类的成员
m_lpszClassName:类的名字
m_nObjectSize:对象的大小
m_pBaseClass:指向基类的CRuntimeClass结构的指针
m_pfnCreateObject:一个指向动态创建对象的函数指针
m_pfnGetBaseClass:返回CRuntimeClass结构
m_wSchema:类的版本号
CreateObject:在运行时创建一个对象
FromName:在运行时使用熟悉的类名创建一个对象
IsDerivedFrom:确定该类是否派生于指定的类
相关文章推荐
- MFC运行时类型信息(RTCI)
- 运行时判web容器类型及获取web容器相关信息
- MFC运行时类信息定义 (主要是能判断他的类关系) 类似于类的类型鉴定14.5.5
- Java的反射与RTTI(运行时类型信息)的区别
- Delphi RTTI(运行时类型信息)
- Android获得当前正在运行的Activity及相关信息
- C++ - RTTI(RunTime Type Information)运行时类型信息 详解
- MFC六大关键技术之(二)——运行时类型识别(RTTI)
- c++模拟MFC中运行时类型识别(RTTI)(Run-Time Type Identification)
- MFC 六大机制 (2) RTTI(运行时类型识别)
- 运行时在方法内部获取该方法的名称及参数相关信息
- MFC中RTTI 运行时类型识别 的模拟实现
- 了解运行时类型信息(RTTI)
- 在.NET运行时了解类型信息(3)
- MFC六大关键技术之(二)——运行时类型识别(RTTI)
- 4.MFCRTTI,运行时类型信息
- MFC对话框初始化运行时如何隐藏,托盘图标,任务栏图标的相关问题
- 程序运行提示缺少mfc110.dll等相关文件的解决办法
- win10里用MFC获取命令行程序运行时的信息时出现“拒绝访问”的问题
- 【C++】学习笔记草稿版17(运行时类型信息RTTI)