我创建一个新类CClass1,基类是CObject,我要动态创建这个类的实例还需要在头文件里加哪些宏??要怎么样创建这个类的实例??谢谢

解决方案 »

  1.   

    类都是运行时才创建实例的,当然就是动态的咯CClass1 objNew;//这样就是创建了实例
      

  2.   

    楼主说的是Dynamic Creation吧?
    需要在.h文件中加入
    DECLARE_DYNCREATE(CClass1)
    在.cpp文件中加入
    IMPLEMENT_DYNCREATE(CClass1,CObject)
      

  3.   

    序列化支持、动态创建支持
    ///////////////////////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)//序列化支持
    .............
      

  4.   

    .hCClass1 *m_p;.cppm_p = new CClass1();//如果你的构造函数带有参数,此处也要加
      

  5.   

    这里有:
    http://www.vckbase.com/document/viewdoc.asp?id=599
      

  6.   

    微软提供的支持动态性和持续性的3对宏如下:
    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)
      

  7.   

    不需要加任何宏。
    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;