读书人

C++ 兑现反射

发布时间: 2012-11-23 22:54:33 作者: rapoo

C++ 实现反射


不多说了,直接上代码吧!

定义:


START_REFLEX_CLASS(CTest1, CReflexBase)virtual void Printf(){    cout << typeid(*this).name() << endl;}END_REFLEX_CLASS(CTest1)START_REFLEX_CLASS(CTest2, CTest1)virtual void Printf(){    cout << typeid(*this).name() << endl;}END_REFLEX_CLASS(CTest2)int _tmain(int argc, _TCHAR* argv[]){    CReflexBase* pTest1 = CReflexBase::Create("CTest1");    CReflexBase* pTest2 = CReflexBase::Create("CTest2");    ((CTest1*)pTest1)->Printf();    ((CTest1*)pTest2)->Printf();    return 0;}




读书人网 >C++

热点推荐