#include <string>
#include <map>
#include <iostream>
using namespace std;
typedef void* (*CreateClass)(void);
/*@类工厂,通过一个MAP成员来实现类名与类的实例化对象函数的映射
* * @向外部提供一个接口函数,通过类名来创建该类对象
* * @MAP是静态的,这样可以在程序运行前就可以存在
* */
class ClassFactory
{
public:
static void* GetClassByName(string className)
{
map<string,CreateClass>::const_iterator iter;
iter = m_classMap.find(className);
if(iter==m_classMap.end())
{
return NULL;
}
#include <map>
#include <iostream>
using namespace std;
typedef void* (*CreateClass)(void);
/*@类工厂,通过一个MAP成员来实现类名与类的实例化对象函数的映射
* * @向外部提供一个接口函数,通过类名来创建该类对象
* * @MAP是静态的,这样可以在程序运行前就可以存在
* */
class ClassFactory
{
public:
static void* GetClassByName(string className)
{
map<string,CreateClass>::const_iterator iter;
iter = m_classMap.find(className);
if(iter==m_classMap.end())
{
return NULL;
}