设计模式_抽象工厂
来源:互联网 发布:淘宝网上银行 编辑:程序博客网 时间:2024/06/06 09:31
#include<memory>#include<iostream>#include<string>#include<cctype>#include<algorithm>#include<cmath>#include<cstdio>using namespace std;enum Ctype {coreA,coreB};class SingleCore{public: virtual void print(){ cout << "siglecore_print"<<endl; } ~SingleCore(){ cout <<"~~singlecore"<<endl; }};class SingleCoreA :public SingleCore{public: void print(){ cout << "A_print"<<endl; } ~SingleCoreA(){ cout <<"~~singlecoreA"<<endl; }};class SingleCoreB :public SingleCore{public: void print(){ cout << "B_print"<<endl; } ~SingleCoreB(){ cout <<"~~singlecoreB"<<endl; }};class DoubleCore{public: virtual void print(){ cout << "double_print"<<endl; } ~DoubleCore(){ cout <<"~~doublecore"<<endl; }};class DoubleCoreA :public DoubleCore{public: void print(){ cout << "doubleA_print"<<endl; } ~DoubleCoreA(){ cout <<"~~doublecoreA"<<endl; }};class DoubleCoreB :public DoubleCore{public: void print(){ cout << "doubleB_print"<<endl; } ~DoubleCoreB(){ cout <<"~~doublecoreB"<<endl; }};class Factory{public: virtual SingleCore* creatCore(){} virtual DoubleCore* creatdouleCore(){}};class FactoryA : public Factory{public: SingleCoreA* creatCore (){ return new SingleCoreA; } DoubleCoreA* creatdouleCore (){ return new DoubleCoreA; }};class FactoryB : public Factory{public: SingleCoreB* creatCore (){ return new SingleCoreB; } DoubleCoreB* creatdouleCore (){ return new DoubleCoreB; }};int main(int argc, char *argv[]){ auto_ptr<Factory> faca (new FactoryA() ); auto_ptr<SingleCore> sina (faca->creatCore () ); auto_ptr <DoubleCore> doua (faca->creatdouleCore () ); sina->print (); doua->print (); return 0;}
0 0
- 设计模式_抽象工厂
- 抽象工厂设计模式
- 设计模式-----抽象工厂
- 抽象工厂设计模式
- 抽象工厂设计模式
- 抽象工厂设计模式
- 设计模式 抽象工厂
- 设计模式--抽象工厂
- 设计模式--抽象工厂
- 设计模式 抽象工厂
- 设计模式-抽象工厂
- 设计模式-> 抽象工厂
- 抽象工厂设计模式
- 设计模式--抽象工厂
- 【设计模式】抽象工厂
- 设计模式---抽象工厂
- 【设计模式-抽象工厂】
- 设计模式-抽象工厂
- Linux流量监控工具 - iftop
- 嵌入式系统组成
- SQL优化-索引篇
- html5和CSS3超酷购物车结算动画特效
- LeetCode 29.Divide Two Integers
- 设计模式_抽象工厂
- hadoop平台的搭建
- 数据库连接池Druid的配置,实用
- flashback table快速恢复误删除的数据(Oracle恢复数据)
- 黑马程序员——多线程第二天
- Spring3.0 AOP 详解
- 在windows下安装配置python开发环境及Ulipad开发工具(转)
- hdu Sumsets
- 对Linux Socket CAN的理解(3)-Socket CAN发送数据流程