值得一看
广告
彩虹云商城
广告

热门广告位

C++如何实现一个简单的工厂模式_C++ 工厂模式实现方法

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

c++如何实现一个简单的工厂模式_c++ 工厂模式实现方法

工厂模式是一种创建型设计模式,用来解耦对象的创建过程。在C++中,通过基类指针和多态机制,可以实现一个简单的工厂模式,让程序在运行时根据需求创建不同的派生类对象。

定义产品基类

首先定义一个抽象的产品基类,提供统一的接口。具体的产品类将继承这个基类并实现其方法。


class Product {
public:
virtual ~Product() = default;
virtual void use() const = 0;
};
class ConcreteProductA : public Product {
public:
void use() const override {
std::cout

实现简单工厂类

工厂类包含一个静态方法,根据输入参数决定创建哪种具体产品。调用者无需知道具体类名,只需通过工厂获取对象。

天工大模型

天工大模型

中国首个对标ChatGPT的双千亿级大语言模型

天工大模型115

查看详情
天工大模型


class SimpleFactory {
public:
static std::unique_ptr createProduct(char type) {
switch (type) {
case ‘A’:
return std::make_unique();
case ‘B’:
return std::make_unique();
default:
return nullptr;
}
}
};

使用工厂创建对象

客户端代码通过工厂接口创建对象,而不是直接调用构造函数,从而降低耦合度。

立即学习“C++免费学习笔记(深入)”;


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;
}

这种方式把对象的创建集中在一个地方,新增产品时只需修改工厂逻辑(或扩展为更灵活的工厂方法模式),原有代码基本不用动。基本上就这些,不复杂但容易忽略细节比如内存管理和虚析构函数。

相关标签:

ai c++ 多态 析构函数 const void 指针 继承 接口 using class public 对象 default
温馨提示: 本文最后更新于2025-10-05 22:29:23,某些文章具有时效性,若有错误或已失效,请在下方留言或联系在线客服
文章版权声明 1 本网站名称: 创客网
2 本站永久网址:https://new.ie310.com
1 本文采用非商业性使用-相同方式共享 4.0 国际许可协议[CC BY-NC-SA]进行授权
2 本站所有内容仅供参考,分享出来是为了可以给大家提供新的思路。
3 互联网转载资源会有一些其他联系方式,请大家不要盲目相信,被骗本站概不负责!
4 本网站只做项目揭秘,无法一对一教学指导,每篇文章内都含项目全套的教程讲解,请仔细阅读。
5 本站分享的所有平台仅供展示,本站不对平台真实性负责,站长建议大家自己根据项目关键词自己选择平台。
6 因为文章发布时间和您阅读文章时间存在时间差,所以有些项目红利期可能已经过了,能不能赚钱需要自己判断。
7 本网站仅做资源分享,不做任何收益保障,创业公司上收费几百上千的项目我免费分享出来的,希望大家可以认真学习。
8 本站所有资料均来自互联网公开分享,并不代表本站立场,如不慎侵犯到您的版权利益,请联系79283999@qq.com删除。

本站资料仅供学习交流使用请勿商业运营,严禁从事违法,侵权等任何非法活动,否则后果自负!
THE END
喜欢就支持一下吧
点赞9赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容