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

C++基础:构建者设计模式

#include <iostream>
#include <string>
using namespace std;
//构建者设计模式-一种工厂只生产一种复杂的产品
class robot
{public:string head;string upbody;string downbody;
};class robotBuilder
{private:robot *myRobot;public:robotBuilder()  //构造函数,为成员变量创建一片空间{myRobot=new robot();}~robotBuilder() //析构函数,释放空间,指针指向为空{delete myRobot;myRobot=NULL;}//成员函数robotBuilder *buildHead(string head){myRobot->head=head;return this;}robotBuilder *buildUpbody(string upbody){myRobot->upbody=upbody;return this;}robotBuilder *builddownbody(string downbody){myRobot->downbody=downbody;return this;}robot *build(){return myRobot;}};int main(){robotBuilder *builder=new robotBuilder();robot *robot001=builder->buildHead("美杜莎的头")->buildUpbody("哆啦A梦的上半身")->builddownbody("闪电侠的腿")->build();//最后返回robot的指针cout<<robot001->head<<"+"<<robot001->upbody<<"+"<<robot001->downbody;delete builder;    //new deletereturn 0;}
http://www.lryc.cn/news/353167.html

相关文章:

  • Swift 请求用户授权以跟踪其跨应用或网站的活动
  • 最新版npm详解
  • 超值分享50个DFM模型格式的素人直播资源,适用于DeepFaceLive的DFM合集
  • Python——一维二维字典数据转化为DataFrame的方法
  • unity中如何插入网页
  • 【负载均衡在线OJ项目日记】引入网络库和客户端用户路由功能
  • 【Vue3】env环境变量的配置和使用(区分cli和vite)
  • ACW石子合并-XMUOJ元素共鸣:唤醒神之眼 -区间DP
  • 大语言模型实战——搭建纯本地迷你版RAG
  • 内存分配算法
  • Hive运行错误
  • vue3之使用图片实现类似于 el-radio 的单选框功能,并且可实现选中和取消选中
  • Vue 安装vue
  • 5月30日在线研讨会 | 面向智能网联汽车的产教融合解决方案
  • 嵩山为什么称为三水之源
  • 最新文章合集
  • Jmeter预习第1天
  • Volatile的内存语义
  • Debezium+Kafka:Oracle 11g 数据实时同步至 DolphinDB 解决方案
  • 前端如何在 WebSocket 的请求头中使用标准 HTTP 头携带 Authorization 信息,添加请求头
  • Java---图书管理系统(练习版)
  • ICML2024 定义新隐私保护升级:DP-BITFIT新型微调技术让AI模型学习更安全
  • 网络空间安全数学基础·整除与同余
  • 同旺科技 FLUKE ADPT 隔离版发布 ---- 说明书
  • 云计算-角色、特性和模型 (Roles, Characteristics, and Models)
  • 介绍一下Hugging Face,这个公司的背景是什么
  • 【C++高阶(一)】继承
  • AI原生嵌入式矢量模型数据库ChromaDB-部署与使用指南
  • c# 画一个正弦函数
  • Docker学习(3):镜像使用