您的位置:首页 > 其它

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:确定该类是否派生于指定的类
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: