1.简略工厂模式
Factory.hpp:
#ifndef _FACTORY_HPP_
#define _FACTORY_HPP_
#include <string>
class Product
{
public:
virtual ~Product(){}
protected:
Product(){}
};
class XXProduct : public Product
{
public:
XXProduct(){}
~XXProduct(){}
};
class XXXProduct : public Product
{
public:
XXXProduct(){}
~XXXProduct(){}
};
class Factory
{
public:
Factory(){}
~Factory(){}
Product* CreateXXProduct()
{
return new XXProduct();
}
Product* CreateXXXProduct()
{
return new XXXProduct();
}
//或应用枚举
Product* CreateProduct( const char *pName )
{
if( strstr( pName, "XXX" ) )
{
return CreateXXXProduct();
}
else if( strstr( pName, "XX") )
{
return CreateXXProduct();
}
else
{
return nullptr;
}
}
};
#endif
#ifndef _FACTORY_HPP_
#def