c++ 数据封装模式之一: 简单工厂模式

来源:互联网 发布:mac qq发离线文件 编辑:程序博客网 时间:2024/06/04 20:13

c++ 数据封装模式之一: 简单工厂模式时间:2009-12-03 21:53:06来源:网络 作者:未知 点击:212次// SimpleFactory.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "ostream.h" //定义抽象类 class CAnimal { protected: int m_Weight; /// SimpleFactory.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: CAnimal* CreateObj(int Flag) { switch (Flag) { case 0: return new CBird(); break; case 1: return new CFish(); break; } } }; int main(int argc, char* argv[]) { //定义工厂对象 CFactory factory; CAnimal * pAnimal; pAnimal = factory.CreateObj(0); pAnimal->Cry(); delete pAnimal; pAnimal = factory.CreateObj(1); pAnimal->Cry(); delete pAnimal; return 0; }