工厂模式(二)-工厂方法模式(C++实现)

来源:互联网 发布:旺旺怎么联系淘宝客服 编辑:程序博客网 时间:2024/05/20 16:35
#include <stdio.h>#include <iostream>using namespace std;//定义鞋子的类型enum ShoesType{ShoesA=0,ShoesB=1};//定义鞋子的虚基类class BaseShoes{public:virtual void Show() = 0;};//A类男鞋class ManShoesA:public BaseShoes{public:void Show(){cout <<"This is ManShoes A"<<endl;}};//B类男鞋class ManShoesB:public BaseShoes{public:void Show(){cout <<"This is ManShoes B"<<endl;}};//工厂类基类class Factory{public:virtual BaseShoes*  ProduceShoes() = 0;};//专门用于生产A类男鞋的工厂class ShoesFactoryA:public Factory{public:ManShoesA* ProduceShoes(){return new ManShoesA();}};//专门用于生产B类男鞋的工厂class ShoesFactoryB:public Factory{public:ManShoesB* ProduceShoes(){return new ManShoesB();}};int main(){ShoesFactoryA sfA;ShoesFactoryB sfB;BaseShoes *pbs = sfA.ProduceShoes();pbs->Show();pbs = sfB.ProduceShoes();pbs->Show();system("pause");return 0;}

原创粉丝点击