为什么vc++中要用RTTI来动态创建
我为什么不能这样
char classname[30]=getclassname();//从文件或使用者获得一个类名
cobject* obj=new classname;//这一行行不行得通
为什么还要用用RTTI来识别是什么类

解决方案 »

  1.   

    cobject* obj=new classname;//行不通
    编译时会认为你定义了classname这个类
    所以出错
    至于rtti,是为了保证类的继承关系及定义
    详见侯捷的<深入浅出MFC>
      

  2.   

    创建类的对象的时候,编译器需要知道你的类的定义!从外部导进的类名是没用的,况且并不是每个类都是由CObject派生而来的,c++为了和c兼容,所以没有强制每个类都必须是同根(CObject)的,所以你的想法不可行!------------------------------------------------
    “那我创建以后要是想恢复以前的那个对象怎么办?”这个问题是什么意思?