简单工厂模式(c++)
#include<iostream> #include<string> using namespace std; class AbstractFruit { public: virtual void showname() = 0; }; class Apple :public AbstractFruit { public: void showname() { cout << "我是苹果" << endl; } }; class Banner :public AbstractFruit { public: void showname() { cout << "我是香蕉" << endl; } }; class Pear :public AbstractFruit { public: void showname() { cout << "我是梨" << endl; } }; class Feactory { public: static AbstractFruit* CreateFruit(string flag) { if (flag == "apple") { return new Apple; } else if (flag == "pear") { return new Pear; } else if (flag == "banana") { return new Banner; } else { return nullptr; } } }; void test1() { Feactory* factory = new Feactory; AbstractFruit* fruit = factory->CreateFruit("apple"); fruit->showname(); delete fruit; delete factory; } int main(){ test1(); cin.get(); }