c++ 数据封装模式之二: 工厂方法模式
2011-06-05 13:56
459 查看
// FactoryMethod.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "ostream.h"
//定义抽象类
class CAnimal
{
protected:
int m_Weigh
//
#include "stdafx.h"
#include "ostream.h"
//定义抽象类
class CAnimal
{
protected:
int m_Weigh
// FactoryMethod.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "ostream.h" //定义抽象类 class CAnimal { protected: int m_Weight; //重量 public: virtual void Cry() = 0; }; //定义具体类 class CFish: public CAnimal { public: virtual void Cry() { cout <<"I am Fish!/n"; } }; class CBird : public CAnimal { public: virtual void Cry() { cout <<"I am Bird! /n"; } }; //定义工厂抽象类 class CFactory { public: virtual CAnimal* CreateObj() = 0; }; //定义工厂具体类 class CFactory1 : public CFactory { public: virtual CAnimal* CreateObj() { return new CBird(); } }; class CFactory2: public CFactory { public: virtual CAnimal* CreateObj() { return new CFish(); } }; int main(int argc, char* argv[]) { CAnimal* pAnimal1,*pAnimal2; CFactory * pFactory1,*pFactory2; pFactory1 = new CFactory1(); pAnimal1 = pFactory1->CreateObj(); pAnimal1->Cry(); pFactory2 = new CFactory2(); pAnimal2 = pFactory2->CreateObj(); pAnimal2->Cry(); delete pAnimal1; delete pAnimal2; delete pFactory1; delete pFactory2; return 0; } |
相关文章推荐
- c++ 数据封装模式之一: 简单工厂模式
- c++ 数据封装模式之一: 简单工厂模式
- c++ 数据封装模式之四: 观察着工厂模式
- 设计模式系列之二:工厂方法模式
- C++设计模式之工厂方法模式
- C++设计模式学习笔记五:工厂方法模式
- C++设计模式————(工厂方法)
- C++设计模式之工厂方法模式
- C++封装SDK的另一种方法(多态和工厂方法)
- Java设计模式之二 —— 工厂方法
- c++工厂模式和c++工厂方法
- 创建模式之二:工厂方法(Factory Method)
- 设计模式之二:工厂方法模式
- C++设计模式-工厂方法
- c++ 数据封装模式之三: 抽象工厂模式
- C++设计模式-工厂方法
- 创建模式之二:工厂方法(Factory Method) 续2
- C++设计模式-工厂方法
- 设计模式 - 工厂方法(Factory Method) C++实现
- 设计模式培训之二:简单工厂、工厂方法