动态创建
来源:互联网 发布:linux中的magic number 编辑:程序博客网 时间:2024/06/02 16:42
#ifndef _DYN_CREATE_H_#define _DYN_CREATE_H_using namespace std;#include "map"#include <string>typedef void* (*FUNC)(void);class DynamicCreateObj{public:static void* CreateObject(const string& objName){map<string,FUNC>::const_iterator It;It = mapClass.find(objName);if (It == mapClass.end()){return 0;}return It->second();}static void AddClass(const string& objName, FUNC fun){mapClass[objName] = fun;}private:static map<string, FUNC> mapClass;};__declspec(selectany) map<string, FUNC> DynamicCreateObj::mapClass;class RegisterClass{public:RegisterClass(const string& objName, FUNC fun){DynamicCreateObj::AddClass(objName,fun);}};#define REGISTER_CLASS(class_name) \class class_name##Register\{\public:\static void* NewInstance()\{\return new class_name;\}\private:\static RegisterClass reg;\};\RegisterClass class_name##Register::reg(#class_name,class_name##Register::NewInstance);#endif //_DYN_CREATE_H_
0 0
- 动态创建
- js动态创建li-动态创建td
- 动态创建按钮
- Delphi动态创建树
- 动态创建Tree
- 如何动态创建菜单
- 动态创建recordset
- 创建动态链接库
- 动态创建控件
- 动态创建用户界面
- 动态创建程序集
- TChart动态创建(Delphi)
- 动态创建数据窗口
- 创建动态控件
- 动态创建控件:
- Panel创建动态控件
- 动态创建别名
- 脚本动态创建例子
- android中requestFocus
- ZOJ-1558
- android: 静态XML和动态加载XML混合使用,以及重写Layout控件
- CouchDB与MySQL的选择
- Git-删除文件
- 动态创建
- [LeetCode]-Pascal's Triangle I&II 杨辉三角问题
- 杭电1159————LCS(最长公共子序列)
- 求出某一天是那一年的第几星期,比如2008年1月8日?
- 【java swing 编程】文件替换小秘书(二)
- CABasicAnimation 自己只有三个property fromValue toValue ByValue
- 一个学习Java和Android编程不错的网址
- 【SVN】Error running context: 由于目标计算机积极拒绝,无法连接
- 管理exchange 2010用户邮箱本地移动请求