设计模式之简单工厂模式(使用C++)

来源:互联网 发布:移动硬盘备份mac 编辑:程序博客网 时间:2024/04/29 04:17
#include <iostream>class Phone{public:    virtual void useCall() = 0;};class XiaoMiPhone : public Phone{public:    virtual void useCall() override    {        std::cout<<"Hello it's Xiao Mi Phone"<<std::endl;    }};class HuaWeiPhone : public Phone{public:    virtual void useCall() override    {        std::cout<<"Hello it's Hua Wei Phone"<<std::endl;    }};enum PhoneType{    XIAOMI,    HUAWEI};class PhoneFactory{public:    static Phone* createPhone(PhoneType type)    {        switch (type)        {        case PhoneType::XIAOMI:            return new XiaoMiPhone();            break;        case PhoneType::HUAWEI:            return new HuaWeiPhone();            break;        default:            return nullptr;            break;        }    }};int main(){    Phone* xiaoMiPhone = PhoneFactory::createPhone(PhoneType::XIAOMI);    xiaoMiPhone->useCall();    delete xiaoMiPhone; xiaoMiPhone = nullptr;    Phone* huaWeiPhone = PhoneFactory::createPhone(PhoneType::HUAWEI);    huaWeiPhone->useCall();    delete huaWeiPhone; huaWeiPhone = nullptr;    system("pause");    return 0;}

先静下心来看上面的C++代码。

我有一个手机模板,通过它可以在手机工厂创建各种手机,它们都支持手机模板的功能。——简单工厂模式

0 0
原创粉丝点击