Java的实现非常简单:
 
  Class clz = Class.forName("LoginDAO");我现在想知道C++中如何实现,多谢!(EOQ)

解决方案 »

  1.   

    反射 reflection C#中比较好用
      

  2.   

    String *str = new String;
      

  3.   

    to  oyljerry:
      
        能够告诉我C#具体如何实现,我看看能不能的得到点启发。多谢
      

  4.   

    C#中可以实现,VC++中就不清楚了。
    不过曾经在网上看过用VC++实现反射的文章,没有仔细看。楼主好好找找。
      

  5.   

    如果用MFC的话
    .h
    class CMyString: public CObject
    {

    protect: 
    CMyString();
    DECLARE_DYNCREATE(CMyString)
    ......
    .cpp
    IMPLEMENT_DYNCREATE(CMyString, CObject)
    创建
    RUNTIME_CLASS(CMyString)->CreateObject();
      

  6.   

    RUNTIME_CLASS// example for RUNTIME_CLASS
    CRuntimeClass* prt = RUNTIME_CLASS( CAge );
    ASSERT( lstrcmp( prt->m_lpszClassName, "CAge" )  == 0 );
    或者通过宏,其实RUNTIME_CLASS也就是通过宏来实现的
      

  7.   

    不行啊,楼上的大哥,还有啊我想要的是标准C++的实现啊,MFC是VC的东西啊
      

  8.   

    那就自己实现这个机制呗,参照MFC的方式,看看 深入浅出MFC。
      

  9.   

    用宏:
    #define NEW_OBJ(CLASS_NAME, OBJ, OBJ_VALUE) CLASS_NAME  OBJ(OBJ_VALUE)如:
        NEW_OBJ(string, str, "Test");
        cout << str << endl;
    会替换为:
     string str("Test") ;
     cout << str << endl;