简单工厂模式(C++)

Posted Geography爱好者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单工厂模式(C++)相关的知识,希望对你有一定的参考价值。

#include <iostream>
using namespace std;

class Fruit
{
public :
    virtual void  getFruit() = 0;
};

class Banana :public Fruit
{
public :
    virtual void getFruit()
    {
        printf("我是香蕉");
    }
};
class Apple :public Fruit
{
public:
    virtual void getFruit()
    {
        printf("我是苹果");
    }
};

class  Factory
{
public:
    Fruit *create(char *p)
    {
        if (strcmp(p, "banana") == 0)
        {
            return new Banana;
        }
        else if (strcmp(p, "Apple") == 0)
        {
            return new Apple;
        }
        else
        {
            return NULL;
        }
    }

};

void main()
{
    Factory *fact=new Factory;
    Fruit *fru;
    fru=fact->create("banana");
    fru->getFruit();
    fru = fact->create("Apple");
    fru->getFruit();
}

 

以上是关于简单工厂模式(C++)的主要内容,如果未能解决你的问题,请参考以下文章

设计模式 C++工厂方法模式

设计模式 C++工厂方法模式

C++ 常用设计模式之 简单工厂模式

C++实现工厂模式(简单工厂模式工厂方法模式抽象工厂模式)

C++设计模式——工厂模式(Factory Pattern)

C++设计模式——简单工厂模式