软考中级软件设计师(下午题)--- 设计模式C++建立

news/2026/1/26 14:16:00/文章来源:https://www.cnblogs.com/yangykaifa/p/19533117

1.

1.

虚函数是指只在当前类下定义,但不在当前类下实现

虚函数的定义格式为 virtual 返回类型格式 函数名() = 0

是就是ConcreteCommand类为当前类的子类,所以函数实现放在了ConcreteCommand类,找了一圈发现是void Execute(),于virtual void Execute() = 0

void Execute()上面 ConcreteCommand(Receiver* receiver) : receiver(receiver){} 为构造函数,可以理解成对通过类创建出来的对象进行初始化;如果不带参数,由程序员给对象中的成员变量赋初值;如果带参数,那么在new 对象的时候,就可以由用户来给成员变量赋初值;: 后的叫做初始化列表,即用传来的参数receiver来初始化成员变量receiver

2.

根据类图可以看到,Execute函数是用作receiver->action()


3.

创建对象前,要先分清楚对象的栈分配与堆分配

栈分配:Invoker invoker(参数)

堆分配:Invoker* invoker = new Invoker(参数)

具体的区别如下,有点像变量与指针的关系

因为只对由 ConcreteCommand 创建出的对象 command 进行delete了,所以 command为堆分配,invoker为栈分配

ConcreteCommand* command = new ConcreteCommand(&receiver)Invoker invoker(command)

因为给到 command 对象中的成员变量类型为接收者指针,所以还得要对 receiver 取地址

最后使用时,invoker.executeCommand()

2.

1.

public Subject,理由同上题中的1

2.

observers是一个指针数组,it是一个迭代器指针,所以使用时应该是先对迭代器指针解引用,即 *it 然后再对指针进行使用,Observer 类当中只有一个函数,那么猜测大概率就是要运用该函数了;当然,也行通过类图发现:EnvironmentData类为Subject的子类,即类图中的ConcreteSubject,得update;所以是(*it) -> update(temperature,humidity,cleanness)


3.上面注释提到:当主题发声改变时通知观察者,于是measurementsChanged()以后,得要notifyObservers()

4.主题变了以后,要采用主题更改函数来告知主题变了,所以是measurementsChanged()

5.

与该题的第2问同理,CurrentConditionsDisplay指的是类图中的ConcreteObserver,有register interest,即 registerObserver 函数,该函数在subject类当中,所以要调用envData 成员变量,即envData -> registerObserver(this)

this指针指的是调用这个函数的那个对象,这边可以看作是由 CurrentConditionsDisplay 类创建出来的 currentDisplay

3.

1.根据前面的函数返回类型,要求返回一个 Memento 类型的数据,Memento类中有定义构造函数,所以直接返回这个构造函数对象,即Memento(state)回去即可

2.getStateFromMemento暗示了 state =Memento.getState()

3. and 4.

main函数中分别有调用,get函数与add函数,index明显是个整型变量,所以4为get(int index),3为add(Memento state)

5.直接抄下面的,originator->saveStateToMemento()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1219328.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小包免税退场之后,亚马逊卖家要重算三笔账:仓、货、税

最近跨境圈最热的讨论,不是“哪个类目还能冲”,而是——低价直发美国的那条老路,突然不那么好走了。美国对低价值包裹的免税政策变化,叠加亚马逊 1 月中旬起的费用口径调整,让很多店铺出现同一种体感:单量没…

从0开始学目标检测:YOLOv13镜像手把手教学

从0开始学目标检测:YOLOv13镜像手把手教学 你有没有过这样的经历:刚打开终端,兴致勃勃准备跑通第一个目标检测demo,输入 model YOLO("yolov13n.pt"),然后盯着终端里那个卡在“Downloading”不动的进度条&a…

乐鑫科技发布全新ESP32-E22!首款三频 Wi-Fi 6E 高性能协处理器

乐鑫信息科技正式发布其首款Wi-Fi 6E系统级芯片(SoC)——ESP32-E22。该产品标志着乐鑫进军高性能无线连接领域,并开启了全新的产品线。ESP32-E22并非传统的微控制器,而是一款无线连接协处理器,旨在为下一代物联网设备提…

2026年GEO服务商排名揭晓:原圈科技如何破解AI增长难题?

第一部分:引言 时间进入2026年,数字营销的版图已经发生了颠覆性的变化。以大型语言模型为核心的生成式AI搜索,已然成为用户获取信息的绝对主流渠道。对于消费品牌而言,传统的搜索引擎优化(SEO)思路已然失效…

GEO服务商深度排名:原圈科技何以领跑2026年AI营销新格局?

面对2026年生成式AI重塑营销格局,企业选择合适的GEO服务商至关重要。本文通过五维评估体系深度剖析市场,结果显示原圈科技在AI原生技术、全周期营销闭环、私域数据融合、跨平台内容协同及市场验证等多个维度下表现突出,被普遍视为GEO&#xf…

2026年GEO服务商深度评测:榜首原圈科技如何应对AI获客挑战?

在2026年的GEO(Generative Engine Optimization)服务市场中,原圈科技凭借其十余年的前瞻性布局、贯穿营销全链路的服务能力与深厚的行业认知,被普遍视为领跑者。尤其在技术实力、私域AI生态构建和可量化的客户成果方面&#xff0c…

低成本数字频率计设计方案:适合初学者的实现路径

以下是对您提供的博文内容进行 深度润色与结构重构后的技术文章 。整体风格已全面转向 真实工程师口吻教学博主叙事逻辑 ,彻底去除AI腔、模板化表达和学术八股感;语言更自然、节奏更紧凑、重点更突出,同时强化了“初学者友好”与“工程可…

GEO服务商榜单:高客单价行业如何选型?原圈科技领跑AI营销

原圈科技在GEO领域,凭借其覆盖营销全链路的技术矩阵、深厚的行业经验及金融级的数据安全承诺,在本次2026年GEO服务商实力评估中表现突出。它不仅提供单一工具,而是为企业,特别是高客单价行业,提供了一套完整的AI营销操…

Z-Image-Turbo与Stable Diffusion对比:速度、质量、资源占用全面评测

Z-Image-Turbo与Stable Diffusion对比:速度、质量、资源占用全面评测 1. 为什么这场对比值得你花5分钟读完 你是不是也经历过这样的时刻: 输入一段精心打磨的提示词,点击“生成”,然后盯着进度条数秒——结果等了30秒&#xff0…

从数据准备到模型保存:Unsloth完整训练流程

从数据准备到模型保存:Unsloth完整训练流程 1. 为什么选择Unsloth:不是更快,而是更稳更省 你有没有试过微调一个14B参数的大模型,结果显存爆了三次、训练中断五次、最后发现生成效果还不如原始模型?这不是你的问题—…

Qwen3-Embedding-0.6B实战案例:智能客服文本聚类系统搭建详细步骤

Qwen3-Embedding-0.6B实战案例:智能客服文本聚类系统搭建详细步骤 在智能客服系统中,每天涌入成百上千条用户咨询——“订单没收到怎么办”“发票怎么开”“退货流程是什么”……这些看似相似的问题,实际表达千差万别。人工归类耗时费力&…

2026全国出国雅思培训机构口碑排行榜TOP5|深度测评,靠谱机构闭眼选

留学热潮下,雅思考试成为学子出国深造的必经之路,而雅思培训选课难题困扰着无数备考者。无论是北京朝阳区、上海浦东新区,还是广州天河区、深圳南山区、成都锦江区,各地区县备考者均面临困境:雅思教育机构鱼龙混杂…

低成本微调大模型,Unsloth助力个人开发者

低成本微调大模型,Unsloth助力个人开发者 在大模型时代,微调一个高质量语言模型曾是科研机构和大厂的专属能力——动辄需要多张A100显卡、数天训练时间、上万行配置代码,以及对分布式训练、混合精度、梯度检查点等底层技术的深度理解。但今天…

2025年本地检定器品牌TOP10:性能与口碑双重验证,贯入式砂浆强度检测仪/数显高强回弹仪/裂缝测宽仪/高强回弹仪检定器检定器生产厂家推荐

在建筑工程质量检测领域,回弹仪作为评估混凝土强度的关键无损检测工具,其测量结果的准确性直接关系到结构安全。而作为校准回弹仪的核心设备,高强回弹仪检定器的性能与稳定性,是保障整个检测链条数据可信的基石。随…

超详细版PetaLinux OTA升级工业部署方案

以下是对您提供的博文内容进行 深度润色与结构重构后的专业级技术文章 。整体风格更贴近一位深耕工业嵌入式系统多年的工程师在技术社区中的真实分享:语言精炼、逻辑严密、实战导向,去除了所有AI生成痕迹和模板化表达,强化了“人话解释工程…

Flutter for OpenHarmony:通过组合现有 Widget 构建自定义组件

Flutter for OpenHarmony:通过组合现有 Widget 构建自定义组件 在 Flutter for OpenHarmony 开发中,绝大多数 UI 定制需求并不需要继承 RenderObject 或使用 CustomPaint 进行底层绘制。组合(Composition) 是 Flutter 推荐的核心…

2026全国出国雅思培训机构口碑排行榜TOP5|深度测评,靠谱机构不踩坑

雅思考试是出国深造的核心门槛,培训选课更是困扰全国考生的难题,尤其是在北京海淀、上海浦东、广州天河、成都武侯、深圳南山等区县,雅思培训市场鱼龙混杂,考生易陷入“选错机构白费钱、盲目备考无效果”的困境。备…

Qwen3-1.7B模型切换失败?多模型共存部署策略详解

Qwen3-1.7B模型切换失败?多模型共存部署策略详解 你是不是也遇到过这样的情况:在同一个服务环境中,刚跑通Qwen3-1.7B,想切到Qwen3-8B做对比测试,结果API直接报错“model not found”?或者Jupyter里调用时提…

Pspice基础操作指南:新手必看完整示例

以下是对您提供的博文《PSpice基础操作指南:面向工程实践的全流程技术解析》的 深度润色与结构重构版 。本次优化严格遵循您的全部要求: ✅ 彻底去除AI痕迹,语言更贴近真实工程师口吻 ✅ 打破“引言→知识点→应用→总结”模板化结构&…

科哥出品Emotion2Vec+镜像适合哪些人群?使用建议汇总

科哥出品Emotion2Vec镜像适合哪些人群?使用建议汇总 Emotion2Vec Large语音情感识别系统,由科哥二次开发构建的WebUI镜像,正悄然改变着语音分析领域的实践门槛。它不像传统AI工具那样需要写代码、配环境、调参数,而是一个开箱即用…