当前位置: 首页 > wzjs >正文

电子商务网站建设方案书的总结百度官网app下载安装

电子商务网站建设方案书的总结,百度官网app下载安装,海报制作软件免费版,天津手网站开发以下是一个完整的C建造者模式示例&#xff0c;包含产品类、建造者接口、具体建造者、指挥者以及测试代码&#xff1a; #include <iostream> #include <string> #include <memory>// 产品类&#xff1a;汽车 class Car { public:void setBody(const std::str…

以下是一个完整的C++建造者模式示例,包含产品类、建造者接口、具体建造者、指挥者以及测试代码:

#include <iostream>
#include <string>
#include <memory>// 产品类:汽车
class Car {
public:void setBody(const std::string& body) { m_body = body; }void setEngine(const std::string& engine) { m_engine = engine; }void setWheels(int wheels) { m_wheels = wheels; }void setElectronics(const std::string& electronics) { m_electronics = electronics; }void show() const {std::cout << "Car Details:\n"<< "Body: " << m_body << "\n"<< "Engine: " << m_engine << "\n"<< "Wheels: " << m_wheels << "\n"<< "Electronics: " << m_electronics << "\n\n";}private:std::string m_body;std::string m_engine;int m_wheels = 0;std::string m_electronics;
};// 抽象建造者
class CarBuilder {
public:virtual ~CarBuilder() = default;virtual void buildBody() = 0;virtual void buildEngine() = 0;virtual void buildWheels() = 0;virtual void buildElectronics() = 0;virtual Car getResult() = 0;
};// 具体建造者:运动型汽车
class SportsCarBuilder : public CarBuilder {
public:void buildBody() override { m_car.setBody("Carbon Fiber Body"); }void buildEngine() override { m_car.setEngine("V8 Twin Turbo"); }void buildWheels() override { m_car.setWheels(4); }void buildElectronics() override { m_car.setElectronics("Racing Package"); }Car getResult() override { return std::move(m_car); }private:Car m_car;
};// 具体建造者:家用汽车
class FamilyCarBuilder : public CarBuilder {
public:void buildBody() override { m_car.setBody("Steel Body"); }void buildEngine() override { m_car.setEngine("1.6L Inline-4"); }void buildWheels() override { m_car.setWheels(4); }void buildElectronics() override { m_car.setElectronics("Basic Package"); }Car getResult() override { return std::move(m_car); }private:Car m_car;
};// 指挥者
class Director {
public:void setBuilder(CarBuilder* builder) { m_builder = builder; }void constructCar() {m_builder->buildBody();m_builder->buildEngine();m_builder->buildWheels();m_builder->buildElectronics();}private:CarBuilder* m_builder;
};// 测试代码
int main() {Director director;// 建造运动型汽车SportsCarBuilder sportsBuilder;director.setBuilder(&sportsBuilder);director.constructCar();Car sportsCar = sportsBuilder.getResult();sportsCar.show();// 建造家用汽车FamilyCarBuilder familyBuilder;director.setBuilder(&familyBuilder);director.constructCar();Car familyCar = familyBuilder.getResult();familyCar.show();return 0;
}

输出结果:

Car Details:
Body: Carbon Fiber Body
Engine: V8 Twin Turbo
Wheels: 4
Electronics: Racing PackageCar Details:
Body: Steel Body
Engine: 1.6L Inline-4
Wheels: 4
Electronics: Basic Package

代码结构说明:

  1. Car类:最终要构建的复杂对象,包含车身、发动机、轮子等组件

  2. CarBuilder抽象类

    • 定义构建汽车各个组件的接口
    • 包含4个纯虚函数用于构建不同部件
    • 提供获取最终产品的接口
  3. 具体建造者

    • SportsCarBuilder:实现运动型汽车的建造细节
    • FamilyCarBuilder:实现家用汽车的建造细节
    • 每个具体建造者维护自己的Car实例
  4. Director类

    • 控制建造流程
    • 定义建造顺序(先车身→发动机→轮子→电子设备)
    • 通过组合不同的建造者来创建不同产品
  5. 测试代码

    • 演示如何使用建造者模式创建不同类型的产品
    • 通过切换建造者来改变最终产品
    • 保持创建过程的一致性
http://www.dtcms.com/wzjs/363501.html

相关文章:

  • 西安网站建设工作室5月疫情最新消息
  • 做暧网站如何自己做一个网站
  • 网站 文件夹结构天津网站seo设计
  • 亚马逊的网站建设分析aso优化方法
  • wap网站建设教程企业微信营销管理软件
  • 一个网站要怎么做的吗网站快速收录工具
  • 武汉网站建设与服务创建软件平台该怎么做
  • 打开网站 输入内容存在危险字符seo是什么的缩写
  • 怎么建设网站广东宣布即时优化调整
  • 做广告公司网站建设价格苏州疫情最新消息
  • iis做网站上传速度慢靠谱的广告联盟
  • 网站设计 专业推广竞价账户托管
  • dw怎样做网站链接谷歌推广教程
  • 做简单网站需要学什么麒麟seo软件
  • 专业外贸网站制作培训机构网站
  • 国外有没有做问卷调查的网站企业网站优化外包
  • 做教育类的网站名百度提问在线回答问题
  • 南宁专业做网站方案手机怎么建自己的网站
  • 深圳专业网站建设平台百度软文推广公司
  • 可以做动画的网站都有哪些软件下载优化推广网站seo
  • 网站策划和网站制作嘉兴网站建设
  • 目前做那些网站能致富拉新工作室在哪里接项目
  • 郑州网站开发定制百度网站排名查询
  • 池州建设机械网站百度导航怎么下载
  • b2b网站模板下载电脑软件推广平台
  • 做网站无赖客户退款友谊平台
  • 上海公司招聘信息江西seo推广
  • 网站建设一点通南昌seo计费管理
  • 大港做网站公司上海网站推广广告
  • 商城网站现在可以做么站长之家权重查询