我想能动态的使用对象
例如:XXX xxx = new XXX();
xxx.method();
XXX是个不确定的类,不知道可以实现这样的功能吗?用CLASS.FORNAME("CLASSNAME");
好象做不到!

解决方案 »

  1.   

    你说是动态创建编译时不确定的类的实例?这个MFC有机制实现,参考CObject类。不过最好使用设计模式中的“原型模式”来解决这个问题。
      

  2.   

    试试这样:
    #define CLASSNAME(x)  C##x调用时:例如调用 CMyClass
    则传入CLASSNAME(MyClass) xxx = new CLASSNAME(MyClass) ();
    缺点是使用该方法的类的头一个字母要相同,如 CXXX
      

  3.   

    其实class就是包含有函数的struct,struct是可以通过一些技巧动态改变的(windows下的一些struct经常就是这样的),你可以看看,自己实现。