admin管理员组

文章数量:1637680

什么地方、什么情况下要加IMPLEMENT_DYNCREATE?有什么用处?

当你希望从CObject派生的类可以在运行时被动态创建。就使用DECLARE_DYNCREATE宏(动态创建类的意思)和IMPLEMENT_DYNCREATE。它们成对使用。如果你一起使用了DECLARE_DYNCREATE和IMPLEMENT_DYNCREATE宏,你就可以使用RUNTIME_CLASS宏和CObject类的IsKindOf成员函数以在运行时确定你的对象是由哪个类生成的。在vc环境里IMPLEMENT_DYNCREATE的地方按F12你就可以看到这个宏的定义

具体操作是:类的定义文件中添加DECLARE_DYNCREATE;类的实现文件中添加IMPLEMENT_DNYCREATE。

1.     例如: 在CAge.h 头文件中

class   CAge   :   public   Cobject

{

int   num;

public:

DECLARE_DYNCREATE(CAge)   //声明:将动态创一个Cage类

};

2、在Cage.cpp的实现文件中

#include   "stdafx.h"

#include   "CAge.h"

IMPLEMENT_DYNCREATE(CAge, CObject) //希望从CObject动态的创建CAage类

以上是由庭博网校编辑的,庭博网校C、C++、VC;PHP等课程每人每年只要1500元。联系QQ:14280784

本文标签: 有什么什么地方用处什么用情况下