C++工厂模式实现方法详解
工厂模式通过基类指针和多态实现对象创建解耦,定义抽象产品类Product并由ConcreteProductA和B实现use方法,工厂函数根据类型返回具体产品实例,main函数中调用use输出对应信息,集中管理对象创建,新增产品只需扩展工厂逻辑,需注意虚析构函数和内存管理。
工厂模式通过基类指针和多态实现对象创建解耦,定义抽象产品类Product并由ConcreteProductA和B实现use方法,工厂函数根据类型返回具体产品实例,main函数中调用use输出对应信息,集中管理对象创建,新增产品只需扩展工厂逻辑,需注意虚析构函数和内存管理。

工厂模式是一种创建型设计模式,用来解耦对象的创建过程。在C++中,通过基类指针和多态机制,可以实现一个简单的工厂模式,让程序在运行时根据需求创建不同的派生类对象。
定义产品基类
首先定义一个抽象的产品基类,提供统一的接口。具体的产品类将继承这个基类并实现其方法。
class Product { public: virtual ~Product() = default; virtual void use() const = 0; }; class ConcreteProductA : public Product { public: void use() const override { std::cout << "Using Product A\n"; } }; class ConcreteProductB : public Product { public: void use() const override { std::cout << "Using Product B\n"; } };实现简单工厂类
工厂类包含一个静态方法,根据输入参数决定创建哪种具体产品。调用者无需知道具体类名,只需通过工厂获取对象。
class SimpleFactory { public: static std::unique_ptr使用工厂创建对象
客户端代码通过工厂接口创建对象,而不是直接调用构造函数,从而降低耦合度。
int main() { auto product1 = SimpleFactory::createProduct('A'); auto product2 = SimpleFactory::createProduct('B'); if (product1) product1->use(); // 输出:Using Product A if (product2) product2->use(); // 输出:Using Product B return 0; }这种方式把对象的创建集中在一个地方,新增产品时只需修改工厂逻辑(或扩展为更灵活的工厂方法模式),原有代码基本不用动。基本上就这些,不复杂但容易忽略细节比如内存管理和虚析构函数。
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















