动态创建的问题,急!!! 我创建一个新类CClass1,基类是CObject,我要动态创建这个类的实例还需要在头文件里加哪些宏??要怎么样创建这个类的实例??谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 类都是运行时才创建实例的,当然就是动态的咯CClass1 objNew;//这样就是创建了实例 楼主说的是Dynamic Creation吧?需要在.h文件中加入DECLARE_DYNCREATE(CClass1)在.cpp文件中加入IMPLEMENT_DYNCREATE(CClass1,CObject) 序列化支持、动态创建支持///////////////////////Class1.h/////////////////////////class CClass1 : public CObject {private: public:.....DECLARE_DYNCREATE(CClass1)//动态创建DECLARE_SERIAL(CBase)//序列化支持......}////////////////////////////////Class1.cpp/////////////////////#include "stdafx.h"#include "Class1.h"#include "Base.h"#include "math.h"#define MAXOFFSET 100#define MAXOFFSETLINE 10000#ifdef _DEBUG#undef THIS_FILEstatic char THIS_FILE[]=__FILE__;#define new DEBUG_NEW#endifIMPLEMENT_DYNCREATE(CClass1, CObject)//动态创建IMPLEMENT_SERIAL(CClass1, CObject,0)//序列化支持............. .hCClass1 *m_p;.cppm_p = new CClass1();//如果你的构造函数带有参数,此处也要加 这里有:http://www.vckbase.com/document/viewdoc.asp?id=599 微软提供的支持动态性和持续性的3对宏如下:DECLARE_DYNAMICIMPLEMENT_DYNAMIC以上能够支持IsKindOf服务能够告知该类以及基类的名称及大小能够得到该类以及基类的CRunTimeClass结构信息DECLARE_DYNCREATEIMPLEMENT_DYNCREATE除了第一对宏所提供的功能外还有支持程序运行时动态创建的能力//是楼主要找的宏第三对儿宏是DECLARE_SERIALIMPLEMENT_SERIAL除了以上两对宏所提供的功能外还增加了支持使用>>操作符以重建该类对象的能力我想楼主要找的是DECLARE_DYNCREATEIMPLEMENT_DYNCREATE用法就是需要在CClass1.h文件中加入DECLARE_DYNCREATE(CClass1)在CClass1.cpp文件中加入IMPLEMENT_DYNCREATE(CClass1,CObject) 不需要加任何宏。CClass1 public CObject(){ public voic Fuck(){MessageBox(NULL,"hehe","shit",MB_ICONINFORMATION|MB_OK};};CClass1* pNew=new CClass1[100];for(int i=0;i<100;i++) pNew[0]->Fuck();delete[] pNew; 半夜的贴,请不要沉了,拜谢! directsound 播WMA格式音频 MFC的文档视图问题 求助,哪位高手帮我详细解释一下这些代码的意思 对话框菜单和变灰和复选与基于文档体系的菜单的变灰和复选有什么不同? 程序调试(在线等) 调用Sleep()函数会不会得不偿失? 我要申请VC/MFC 非技术类的版主(up有分) 自己绘控件 ------------------ 寻人 fly_pig(易飞扬)------------- 请教vc下w32 console application问题 拟合 插值
需要在.h文件中加入
DECLARE_DYNCREATE(CClass1)
在.cpp文件中加入
IMPLEMENT_DYNCREATE(CClass1,CObject)
///////////////////////Class1.h/////////////////////////
class CClass1 : public CObject
{
private:
public:
.....
DECLARE_DYNCREATE(CClass1)//动态创建
DECLARE_SERIAL(CBase)//序列化支持......
}
////////////////////////////////Class1.cpp/////////////////////
#include "stdafx.h"
#include "Class1.h"
#include "Base.h"
#include "math.h"#define MAXOFFSET 100
#define MAXOFFSETLINE 10000
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
IMPLEMENT_DYNCREATE(CClass1, CObject)//动态创建
IMPLEMENT_SERIAL(CClass1, CObject,0)//序列化支持
.............
http://www.vckbase.com/document/viewdoc.asp?id=599
DECLARE_DYNAMIC
IMPLEMENT_DYNAMIC
以上能够支持IsKindOf服务
能够告知该类以及基类的名称及大小
能够得到该类以及基类的CRunTimeClass结构信息
DECLARE_DYNCREATE
IMPLEMENT_DYNCREATE
除了第一对宏所提供的功能外
还有支持程序运行时动态创建的能力
//是楼主要找的宏
第三对儿宏是
DECLARE_SERIAL
IMPLEMENT_SERIAL
除了以上两对宏所提供的功能外
还增加了支持使用>>操作符以重建该类对象的能力
我想楼主要找的是
DECLARE_DYNCREATE
IMPLEMENT_DYNCREATE用法就是需要在CClass1.h文件中加入
DECLARE_DYNCREATE(CClass1)
在CClass1.cpp文件中加入
IMPLEMENT_DYNCREATE(CClass1,CObject)
CClass1 public CObject()
{
public voic Fuck(){MessageBox(NULL,"hehe","shit",MB_ICONINFORMATION|MB_OK};
};
CClass1* pNew=new CClass1[100];
for(int i=0;i<100;i++)
pNew[0]->Fuck();
delete[] pNew;