简单工厂模式
原理全在代码里,无需多解释,很简单
#include <iostream>
using namespace std;
class Fruit{
public:
virtual void getFruit() = 0;
};
class banana :public Fruit{
virtual void getFruit()
{
printf("香蕉\n");
}
};
class apple :public Fruit{
virtual void getFruit()
{
printf("苹果\n");
}
};
class Factory{
public:
Fruit *creatFruit(char *p)
{
if (strcmp(p,"banana")==0)
{
return new banana;
}
else if (strcmp(p, "apple")==0)
{
return new apple;
}
else
return NULL;
}
};
void main()
{
Factory f;
Fruit *m_banana = f.creatFruit("banana");
m_banana->getFruit();
Fruit *m_apple = f.creatFruit("apple");
m_apple->getFruit();
delete m_apple;
delete m_banana;
system("pause");
}
结果: