工厂模式testing0927.cpp
来源:互联网 发布:java怎么学 编辑:程序博客网 时间:2024/06/05 17:06
// 工厂模式testing0927.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<iostream>
using namespace std;
///产品接口和产品类
class Product
{
public:
virtual void Create(){NULL;}
};
class ProductA:public Product
{
public:
virtual void Create();
};
void ProductA::Create()
{
cout<<"productA has already been created";
}
class ProductB:public Product
{
public:
virtual void Create();
};
void ProductB::Create()
{
cout<<"productB has been created";
}
///工厂接口和工厂类
class Factory
{
public:
virtual Product* CreateProduct()
{return 0;}
};
class FactoryA:public Factory
{public:
virtual Product* CreateProduct( );
};
Product* FactoryA::CreateProduct( )
{
cout<<"产生一个产品A";
//Product product;
return new Product;
}
class FactoryB:public Factory
{public:
virtual Product* CreateProduct( );
};
Product* FactoryB::CreateProduct( )
{
cout<<"产生一个产品B";
//Product product;
return new ProductB;
}
int main()
{
Factory* factory=new FactoryB();
Product* product=factory->CreateProduct();
product->Create();
delete product;
cin;
return 0;
}
//
#include "stdafx.h"
#include<iostream>
using namespace std;
///产品接口和产品类
class Product
{
public:
virtual void Create(){NULL;}
};
class ProductA:public Product
{
public:
virtual void Create();
};
void ProductA::Create()
{
cout<<"productA has already been created";
}
class ProductB:public Product
{
public:
virtual void Create();
};
void ProductB::Create()
{
cout<<"productB has been created";
}
///工厂接口和工厂类
class Factory
{
public:
virtual Product* CreateProduct()
{return 0;}
};
class FactoryA:public Factory
{public:
virtual Product* CreateProduct( );
};
Product* FactoryA::CreateProduct( )
{
cout<<"产生一个产品A";
//Product product;
return new Product;
}
class FactoryB:public Factory
{public:
virtual Product* CreateProduct( );
};
Product* FactoryB::CreateProduct( )
{
cout<<"产生一个产品B";
//Product product;
return new ProductB;
}
int main()
{
Factory* factory=new FactoryB();
Product* product=factory->CreateProduct();
product->Create();
delete product;
cin;
return 0;
}
- 工厂模式testing0927.cpp
- 装饰模式testing0927.cpp
- 工厂模式 -- 工厂方法
- 工厂模式 -- 抽象工厂
- 工厂模式-简单工厂
- 工厂模式-工厂方法
- 工厂模式:静态工厂
- 工厂模式-简单工厂
- 工厂模式-抽象工厂
- 工厂模式-工厂方法
- 工厂 > 工厂方法模式
- 工厂模式-静态工厂
- 工厂模式-抽象工厂
- 工厂模式
- 工厂模式
- 工厂模式
- 工厂模式
- 工厂模式
- StackWithMinTesting1007.cpp
- NSInvocation简单使用
- 如何使用免费敏捷工具放飞你的创造力?
- 最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用27
- 策略模式testing1002.cpp
- 工厂模式testing0927.cpp
- linux下学习OpenGL
- 装饰模式testing0927.cpp
- iPhone_开发_基本术语_Serialization
- 结构之法 算法之道 博客地址 --- 对各种面试题的收集整理
- Android中Activity的生命周期
- 乔布斯时代结束
- VIM for windows + ctags + taglist + winmanager
- struts constant