设计模式03-简单工厂模式

简单工厂模式

原理全在代码里,无需多解释,很简单

#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");
}

结果:
在这里插入图片描述

发布了65 篇原创文章 · 获赞 6 · 访问量 1559

猜你喜欢

转载自blog.csdn.net/FairLikeSnow/article/details/103737695