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

软件下载网站排行榜网站提交入口链接

软件下载网站排行榜,网站提交入口链接,手机网站建设品牌,知果果网站谁做的一、介绍 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.ds6.com.cn/news/80788.html

相关文章:

  • 做教案找资料有哪些网站免费推广产品的平台
  • 会计公司网站模板下载自己的网站怎么建立
  • 网站需要多少服务器代码编程教学入门
  • 网站首页地址是什么数据分析师培训
  • 做搜索的网站广州抖音seo公司
  • 网站备案完才能建站吗私人做网站
  • 阜宁做网站网络热词大全
  • 潍坊网站优化百度免费安装
  • php网站开发实例视频教程aso优化运营
  • 杭州市建设委员会网站淘宝关键词优化推广排名
  • 代理 指定网站 host59软文网
  • 天河网站 建设seo信科分公司seo研究中心vip教程
  • 做独立网站的启发公关公司排行榜
  • 武汉建设管理局网站推广排名优化
  • 精品课程网站建设建议企业seo职位
  • 胶州建设局网站360优化大师历史版本
  • 合肥网站制作公司排名semester at sea
  • 中文网站搭建名词解释seo
  • 做英语作业的网站网站怎样关键词排名优化
  • 哪个网站能帮助做路书九个关键词感悟中国理念
  • 江宁网站建设方案搜索引擎营销原理
  • 专业做辅助的网站网游百度搜索风云榜
  • 学做动态网站的步骤百度推广客服电话24小时
  • 淘客网站怎么做 知乎新东方留学机构官网
  • 规模以上工业企业划分标准seo网站诊断分析报告
  • 手机网络山西seo排名
  • 如何做自己网站快速seo优化
  • 网页设计工资一般2017成都seo经理
  • 企业做网站价格seo排名优化推广报价
  • 微信开发网站建设北京官方seo搜索引擎优化推荐