您的位置:首页 > 房产 > 建筑 > 公众号1000粉丝月收入_买一个网页多少钱_seo优化网站教程_长春seo排名公司

公众号1000粉丝月收入_买一个网页多少钱_seo优化网站教程_长春seo排名公司

2025/4/22 20:28:50 来源:https://blog.csdn.net/weixin_39723539/article/details/147404837  浏览:    关键词:公众号1000粉丝月收入_买一个网页多少钱_seo优化网站教程_长春seo排名公司
公众号1000粉丝月收入_买一个网页多少钱_seo优化网站教程_长春seo排名公司

运行时类信息机制的使用

  1. 类必须派生自CObject
  2. 类内必须添加声明宏DECLARE_DYNAMIC(theClass)
  3. 3.类外必须添加实现宏 IMPLEMENT_DYNAMIC(theClass,baseClass)

具备上述三个条件后,CObject::IsKindOf函数就可以正确判断对象是否属于某个类。

代码示例

#include <afxwin.h>
#include <iostream>using namespace std;class CAnimal : public CObject {DECLARE_DYNAMIC(CAnimal)};
IMPLEMENT_DYNAMIC(CAnimal,CObject)class CDog : public CAnimal {DECLARE_DYNAMIC(CDog)};
IMPLEMENT_DYNAMIC(CDog, CAnimal)int main() {CDog yellowdog;// 判断yellowdog 这个类是不是CDog这个类//if (yellowdog.IsKindOf(RUNTIME_CLASS(CAnimal))) {if (yellowdog.IsKindOf(RUNTIME_CLASS(CDog))) {cout << "yellowdog is CDog" << endl;}else {cout << "yellowdog is not CDog" << endl;}return 0;
}

动态创建机制的使用

在不知道类名的情况下,将类的对象创建出来。

  1. 类必须派生自CObject
  2. 类内必须添加声明宏 DECLARE_DYNCREATE(theClass)
  3. 类外必须添加实现宏 IMPLEMENT_DYNCREATE(theClass,baseClass)

当一个类具备上述三个条件后,CRuntimeClass::CreateObject()对象加工厂函数就可以将类的对象创建出来。

代码示例

#include <afxwin.h>
#include <iostream>using namespace std;class CAnimal : public CObject {DECLARE_DYNAMIC(CAnimal)};
IMPLEMENT_DYNAMIC(CAnimal, CObject)class CDog : public CAnimal {DECLARE_DYNCREATE(CDog)};
IMPLEMENT_DYNCREATE(CDog, CAnimal)int main() {CObject* pob = RUNTIME_CLASS(CDog)->CreateObject();if (pob) {cout << pob << endl;} else {cout << "faile" << endl;}return 0;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com