#include #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;
写一个简单工厂模式。c++

原文地址: https://www.cveoy.top/t/topic/iyIJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录