65,186
社区成员




class Base{
...
};
#define OBJECT_HEADER(derivedClass) \
public: \
virtual SharedPtr<Base> _virtualClone() const; \
SharedPtr<derivedClass> _clone() const; \
static Base* createInstance (); \
static const Type& classTypeID (); \
virtual const Type& type() const; \
static void constructType(); \
static void destructType();
class derivedClass: public Base
{
OBJECT_HEADER(derivedClass)
public:
...
};
inline SharedPtr<Base> createInstance(const Type* pType) { return pType->createInstance(); }