//c++ 中泛型工厂注册类的实现
【程序编程相关:看实例学php正则表达式】 【推荐阅读:原来写的一篇老文:实战Log4j】//--------------------------------------------------------------------------- 【扩展信息:模板类的练习——队列】#ifndef genericfactoryh
#define genericfactoryh#include <string>
#include <map>#define register_class(base_class, derived_class)\
registerinpfactory<base_class, derived_class> register##derived_class(#derived_class)#define create_class(base_class,derived_class)\
genericfactory<base_class>::instance().create(#derived_class)//---------------------------------------------------------------------------
using std::string; using std::map;template <class manufacturedtype, typename classidkey=std::string>
class genericfactory { typedef manufacturedtype* (*basecreatefn)();typedef std::map<classidkey, basecreatefn> fnregistry;
fnregistry registry;
... 下一页