工厂模式实现

来源:互联网 发布:手机加水印软件 编辑:程序博客网 时间:2024/05/22 13:49

#include <iostream>using namespace std;class CLeiFeng{public:virtual ~CLeiFeng(){}virtual void cook(){}virtual void clean(){}virtual void laundry(){}};class CHelperA:public CLeiFeng{public:void cook(){cout<<"Helper cook"<<endl;}void clean(){cout<<"Helper clean"<<endl;}void laundry(){cout<<"Helper laundry"<<endl;}};class CHelperB:public CLeiFeng{public:void cook(){cout<<"HelperB cook"<<endl;}void clean(){cout<<"HelperB clean"<<endl;}void laundry(){cout<<"HelperB laundry"<<endl;}};class IFactory{public:virtual ~IFactory(){}virtual CLeiFeng *GetFactory(){return NULL;}};class CHelperAFactory:public IFactory{public:CLeiFeng *GetFactory(){return new CHelperA;}};class CHelperBFactory:public IFactory{public:CLeiFeng *GetFactory(){return new CHelperB;}};int main(){IFactory *factory = new CHelperBFactory();factory->GetFactory()->cook();return 0;}

/******本功能实现学雷锋帮人做家务******/

打印结果:

HelperB cook


原创粉丝点击