设计模式入门1——简单工厂模式(AudiFactory)
来源:互联网 发布:gps里程统计算法 编辑:程序博客网 时间:2024/06/06 02:32
为了打好基础,再来一个简单工厂模式的例子,以奥迪车为例。
/*******************************************************///名称:简单工厂模式(AudiFactory)//时间:2014年4月4日12:24:17//作者:Lynch/*******************************************************/#pragma once#include<iostream>#include"AudiFactory.h"using namespace std;int main(){string carName;cout<<"Please input the type of an Audi car that you need!such as,A4."<<endl;cin>>carName;//输入奥迪车的型号(工厂里边必须有该型号,如A4)AudiFactory *audi=new AudiFactory();Audi *a=audi->getCar(carName);cout<<a->getResult()<<endl;return 0;}
#pragma once#include<string>using namespace std;class Audi{public:virtual string getResult()=0;};
#pragma once#include "Audi.h"#include<string>using namespace std;class AudiA4 :public Audi{public:virtual string getResult(){return "Audi A4 is coming!";}};
#pragma once#include "Audi.h"#include<string>using namespace std;class AudiA6 :public Audi{public:virtual string getResult(){return "Audi A6 is coming!";}};
#pragma once#include<iostream>#include<string>#include"Audi.h"#include"AudiA4.h"#include"AudiA6.h"using namespace std;class AudiFactory{public:Audi *getCar(string name){Audi *audi=NULL;if(name=="A4"){audi=new AudiA4();}else if(name=="A6"){audi=new AudiA6();}else{cout<<"Cannot create this type of Audi!"<<endl;exit(0);}return audi;}};
代码布局图:
运行效果图:
0 0
- 设计模式入门1——简单工厂模式(AudiFactory)
- zt:工厂模式-简单工厂(设计模式的入门级模式—初级)
- 设计模式入门1——简单工厂模式(OperationFactory)
- 设计模式练习(1)——简单工厂模式
- java设计模式(1)——简单工厂模式
- 设计模式——工厂模式(简单工厂)
- 设计模式之——工厂模式(简单工厂模式1)
- 设计模式入门——工厂模式
- 设计模式系列——三个工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)
- 设计模式系列——三个工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)
- Qt设计模式系列——三个工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)
- 设计模式系列——三个工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)
- 设计模式系列——三个工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)
- 设计模式系列——三个工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)
- 设计模式系列——三个工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)
- 设计模式(2)——简单工厂设计模式
- Java设计模式-工厂模式(1)简单工厂模式
- 设计模式1——简单工厂
- UVa10004 Bicoloring(二分图判定)
- Jenkins进阶系列之——04Publish Over FTP Plugin插件
- [ASP.NET]二维码的创建
- Jenkins进阶系列之——05FTP publisher plugin插件
- 怎样花两年时间去面试一个人
- 设计模式入门1——简单工厂模式(AudiFactory)
- 黑马程序员--- 学习笔记(第十天)
- php缺少mbstring拓展
- Jenkins进阶系列之——07更改Jenkins的主目录
- 在 子控件中,如何去隐藏NotifyIcon(任务栏图标)
- Version Control-CVS SVN VSS 使用对比
- Jenkins进阶系列之——08Jenkins纳入版本控制
- NYOJ103 A+B Problem II
- Android WebView缓存机制详解