码迷,mamicode.com
首页 > 编程语言 > 详细

C++设计模式之-工厂模式的总结

时间:2018-07-06 14:20:26      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:简单   子类   case   new   运行时   多态   ios   end   turn   

工厂模式分为3种,即简单工厂模式、工厂方法模式、抽象工厂模式,其实大同小异,总结下来就是:

简单工厂模式:一个工厂,多个产品。产品需要有一个虚基类。通过传入参数,生成具体产品对象,并利用基类指针指向此对象。通过工厂获取此虚基类指针,通过运行时多态

 

 1 // Factory.cpp : 定义控制台应用程序的入口点。
 2 //
 3 
 4 #include "stdafx.h"
 5 #include <iostream>
 6 #include <string>
 7 using namespace std;
 8 class Product
 9 {
10 public:
11     virtual void show() = 0;
12 };
13 class Product_A:public Product
14 {
15 public:
16     void show() override
17     {
18         cout<<"Product_A"<<endl;
19     }
20 };
21 class Product_B:public Product
22 {
23 public:
24     void show() override
25     {
26         cout<<"Product_B"<<endl;
27     }
28 };
29 class Factory
30 {
31 public:
32     Product* create(int i)
33     {
34         switch(i)
35         {
36         case 1:
37             return new Product_A;
38             break;
39         case 2:
40             return new Product_B;
41             break;
42         default:
43             break;
44         }
45     }
46 };
47 
48 int _tmain(int argc, _TCHAR* argv[])
49 {
50     Factory *factory = new Factory();
51     factory->create(1)->show();
52     factory->create(2)->show();
53     system("pause");
54     return 0;
55 }

 

,调用子类实现。

C++设计模式之-工厂模式的总结

标签:简单   子类   case   new   运行时   多态   ios   end   turn   

原文地址:https://www.cnblogs.com/wxmwanggood/p/9273173.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!