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;}