当前位置: 首页 > news >正文

佛山视频网站搭建公司个人名片模板

佛山视频网站搭建公司,个人名片模板,seo排名软件价格,网站建设方案书 模版一、介绍 IMPLEMENT_DYNCREATE 是一个宏(macro),通常与DECLARE_DYNCREATE宏一起在MFC框架中使用。它的作用是为一个派生自 CObject 的MFC类提供运行时类型信息(RTTI)和对象的动态创建支持。 具体来说,IMP…

一、介绍

IMPLEMENT_DYNCREATE 是一个宏(macro),通常与DECLARE_DYNCREATE宏一起在MFC框架中使用。它的作用是为一个派生自 CObject 的MFC类提供运行时类型信息(RTTI)和对象的动态创建支持。

具体来说,IMPLEMENT_DYNCREATEC 宏为类提供了以下功能:

  1. 运行时类型信息(RTTI): 它允许在运行时确定对象的实际类型,这对于对象的类型检查和转换非常有用。你可以使用 RUNTIME_CLASS 宏来获取对象的类信息。

  2. 对象的动态创建: 类可以通过类名字符串在运行时动态创建对象。这对于动态加载类并创建对象的场景非常有用,例如在插件系统中。

二、实例

// 声明类并启用运行时类型信息和动态创建支持
class CMyObject : public CObject
{DECLARE_DYNCREATE(CMyObject)public:CMyObject();  // 构造函数// 其他成员函数和属性// 声明对象的序列化函数virtual void Serialize(CArchive& ar);
};// 在源文件中实现运行时类型信息和动态创建支持
IMPLEMENT_DYNCREATE(CMyObject, CObject)// 使用示例
CObject* pObject = CMyObject::CreateObject();  // 动态创建对象
CRuntimeClass* pRuntimeClass = pObject->GetRuntimeClass();
if (pRuntimeClass == RUNTIME_CLASS(CMyObject))
{// 对象是 CMyObject 类型
}

三、源码

IMPLEMENT_DYNCREATE在afx.h中定义如下:

#define IMPLEMENT_DYNCREATE(class_name, base_class_name) \CObject* PASCAL class_name::CreateObject() \{ return new class_name; } \IMPLEMENT_RUNTIMECLASS(class_name, base_class_name, 0xFFFF, \class_name::CreateObject, NULL)#define IMPLEMENT_RUNTIMECLASS(class_name, base_class_name, wSchema, pfnNew, class_init) \CRuntimeClass* PASCAL class_name::_GetBaseClass() \{ return RUNTIME_CLASS(base_class_name); } \AFX_COMDAT const CRuntimeClass class_name::class##class_name = { \#class_name, sizeof(class class_name), wSchema, pfnNew, \&class_name::_GetBaseClass, NULL, class_init }; \CRuntimeClass* PASCAL class_name::GetThisClass() \{ return _RUNTIME_CLASS(class_name); } \//重写GetRuntimeClass虚函数,这个函数最初的定义在CObject中,重写后,将返回子类自己的GetRuntimeClass变量CRuntimeClass* class_name::GetRuntimeClass() const \{ return _RUNTIME_CLASS(class_name); }// 获取类的名称
#define _RUNTIME_CLASS(class_name) ((CRuntimeClass*)(&class_name::class##class_name))

可以看出:主要是一个GetRuntimeClass函数,用于获取当前类的信息

参考:

DECLARE_DYNAMIC/IMPLEMENT_DYNAMIC宏_implement_dynamicc_CT8100的博客-CSDN博客

http://www.yayakq.cn/news/182484/

相关文章:

  • 云南省人防工程建设网站中国网站设计模板
  • 做旅游网站当地人服务赚钱吗科讯怎么建设网站
  • 网站生成app服装网站建设方法
  • 凡科做的网站提示证书错误wordpress表单样式
  • 网站建设叁金手指花总6建立网站需要注意什么
  • 宁波企业网站搭建价格网站开发费用明细
  • 做的网站为什么手机上搜不到高德地图怎么申报地址
  • 网站查询wordpress做分类信息网站
  • 枣阳城乡建设局网站酒店网站建设考虑哪些因素
  • 局域网视频网站开发flash全站案例网站预览
  • 单页网站模板 带在线订单wordpress 图片 宽 高
  • 怎么开网站做网红资源网站快速优化排名
  • 建设银行海淀支行 网站泉州优化公司
  • qq代挂主站网站建设中国站长素材网
  • 如何做网站首页关键词北京十大室内设计工作室
  • 网站的特征包括新乡手机网站建设
  • 关于进一步加强门户网站建设快飞建站
  • 企业建站系统下载wordpress 显示链接替换
  • 梧州推广网站服务商做网站要签合同吗
  • 学做网站如何创业博客园网站开发
  • 做网站的公司怎么赚钱大连网站制作的公司
  • 潼关县住房和城乡建设局网站如何做学校的网站
  • 郑州公司网站开发学院网络营销策划方案
  • 做家具的网站莱芜网页
  • dede 管理多个网站hao123从上网官网
  • 深圳网站建设yihe kj上海企业公示网
  • 常见的门户网站有哪些大连网站制作怎么做
  • 公司建设网站费用会计分录wordpress项目wiki
  • 关于手机的网站有哪些内容什么是搜索推广
  • js网站效果关于电子商务的知识