根据字符串类名动态创建对象
<script></script>
老板很无理的要求,硬是让程序能够根据给定的字符串类名来创建相应的对象,哎,为此折腾了几天!
reflect.h文件
#ifndef REFLECT_H
#define REFLECT_H
class ClassDef;
class __ClassDefiner;
typedef void (*ConstructObjectFn)(void *pObject);
typedef void (*DestructObjectFn)(void *pObject);
//自己重载new运算符
inline void * __cdecl operator new(unsigned int size,void* ptr,int le,char ch)
{
return ptr;
};
#define DEFINE_HANDLE_TYPE(name) /
typedef struct TT{int __nothing;} name##_t, *name;
//类的构造函数和析构函数
#define DO_DEFAULT_FUNCTIONS(_ClassName) /
void Default##_ClassName##Constructor(void *ptr)/
{/
new(ptr,(int)0,(char)0) _ClassName;/
};/
void Default##_ClassName##Destructor(void *ptr)/
{/
_ClassName *thePtr = (_ClassName*)ptr;/
thePtr->~_ClassName();/
};/
#define DO_