写一个简单工厂模式。c++
#include
// 抽象产品类 class Product { public: virtual void operation() = 0; };
// 具体产品类 A class ConcreteProductA : public Product { public: void operation() override { std::cout << "ConcreteProductA operation" << std::endl; } };
// 具体产品类 B class ConcreteProductB : public Product { public: void operation() override { std::cout << "ConcreteProductB operation" << std::endl; } };
// 简单工厂类 class SimpleFactory { public: // 根据输入参数创建不同的产品对象 static Product* createProduct(std::string type) { if (type == "A") { return new ConcreteProductA(); } else if (type == "B") { return new ConcreteProductB(); } else { return nullptr; } } };
int main() { // 通过简单工厂创建不同的产品对象 Product* productA = SimpleFactory::createProduct("A"); Product* productB = SimpleFactory::createProduct("B");
// 调用产品对象的操作方法
productA->operation();
productB->operation();
// 释放资源
delete productA;
delete productB;
return 0;
原文地址: https://www.cveoy.top/t/topic/iyIJ 著作权归作者所有。请勿转载和采集!