设计模式3:抽象工厂
2009-01-18 18:54
337 查看
看看抽象工厂 感觉迷迷糊糊的 上上网 看看例子
随便写写 也不知道自己写的是不是一个抽象工厂的例子 嘿嘿
如下:
随便写写 也不知道自己写的是不是一个抽象工厂的例子 嘿嘿
如下:
#include <iostream> using namespace std; class person { public: virtual void eat(){cout<<"人吃饭"<<endl;} virtual void jump(){cout<<"人跳"<<endl;} virtual void sleep(){cout<<"人睡觉"<<endl;} }; class disan: public person { public: void eat(){cout<<"李三吃饭"<<endl;} void jump(){cout<<"李三跳"<<endl;} void sleep(){cout<<"李三睡觉"<<endl;} }; class wangsi: public person { public: void eat(){cout<<"王四吃饭"<<endl;} void jump(){cout<<"王四跳"<<endl;} void sleep(){cout<<"王四睡觉"<<endl;} }; class beast { public: virtual void eat(){cout<<"兽吃饭"<<endl;} virtual void jump(){cout<<"兽跳"<<endl;} virtual void sleep(){cout<<"兽睡觉"<<endl;} }; class ox:public beast { public: void eat(){cout<<"兽吃饭"<<endl;} void jump(){cout<<"兽跳"<<endl;} void sleep(){cout<<"兽睡觉"<<endl;} }; class dog:public beast { public: void eat(){cout<<"狗吃饭"<<endl;} void jump(){cout<<"狗跳"<<endl;} void sleep(){cout<<"狗睡觉"<<endl;} }; class fact { public: virtual person* createperson()=0; virtual beast* createBeast()=0; }; class a: public fact { public: person* createperson(){return new disan();} beast* createBeast(){return new dog();} }; class b: public fact { public: person* createperson(){return new wangsi();} beast* createBeast(){return new ox();} }; int main() { fact* p = new a; person* c = p->createperson(); c->eat(); beast* x = p->createBeast(); x->sleep(); fact *xa = new b; person* d = xa->createperson(); d->jump(); beast* cc = xa->createBeast(); cc->eat(); delete p; delete c; delete x; delete d; delete cc; delete xa; system("pause"); }dev c++编程
相关文章推荐
- 设计模式(三):抽象工厂
- 设计模式学习之抽象工厂
- 设计模式:简单工厂、工厂方法、抽象工厂之小结与区别
- Java设计模式-抽象工厂设计模式
- Delphi 设计模式:《HeadFirst设计模式》Delphi代码---工厂模式之抽象工厂
- 设计模式之抽象工厂
- 设计模式—抽象工厂
- 设计模式---创建类型---抽象工厂
- 设计模式-抽象工厂
- 设计模式重温1 -简单工厂模式,工厂方法,抽象工厂
- 【设计模式】简单工厂,工厂方法,抽象工厂
- 设计模式--抽象工厂
- 设计模式——(Abstract Factory)抽象工厂
- 设计模式——(Abstract Factory)抽象工厂
- 【设计模式】 之 抽象工厂
- 设计模式:简单工厂、工厂方法、抽象工厂之小结与区别
- 设计模式系列之 抽象工厂
- 设计模式:简单工厂、工厂方法、抽象工厂之小结与区别
- 设计模式之抽象工厂
- [Java] 设计模式之工厂系列 02-面向抽象编程 抽象工厂 - 缺点 : 产生新的产品品种的时候,改动太多