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

C++ 设计模式-适配器模式

适配器模式示例,包括多电压支持、类适配器实现、安全校验等功能:

#include <iostream>
#include <memory>
#include <stdexcept>// 抽象目标接口:通用电源接口
class PowerOutlet {
public:virtual ~PowerOutlet() = default;virtual int outputPower() const = 0;virtual std::string plugType() const = 0;
};// 具体目标接口1:中国标准USB插座 (期望5V)
class ChinaUSBSocket : public PowerOutlet {
public:int outputPower() const override { return 5; }std::string plugType() const override { return "USB-A"; }
};// 具体目标接口2:欧洲标准插座 (期望12V)
class EuropeSocket : public PowerOutlet {
public:int outputPower() const override { return 12; }std::string plugType() const override { return "Europlug"; }
};// 被适配类集合---------------------------------
class ChineseWallOutlet {  // 中国标准220V
public:int output220V() const { return 220; }std::string shape() const { return "Flat 3-pin"; }
};class AmericanOutlet {  // 美国标准110V
public
http://www.lryc.cn/news/535919.html

相关文章:

  • 【Elasticsearch】文本分析Text analysis概述
  • 【IDEA】2017版本的使用
  • ES6 Proxy 用法总结以及 Object.defineProperty用法区别
  • 数据结构——【二叉树模版】
  • 关闭浏览器安全dns解决访问速度慢的问题
  • 【AIGC】语言模型的发展历程:从统计方法到大规模预训练模型的演化
  • Spring Boot 中的事务管理:默认配置、失效场景及集中配置
  • DeepSeek 助力 Vue 开发:打造丝滑的进度条
  • deepseek的CoT优势、两阶段训练的有效性学习笔记
  • 分享在职同时准备系统分析师和教资考试的时间安排
  • 浅谈Java Spring Boot 框架分析和理解
  • 【开发心得】CentOS7编译Redis7.4.2打包RPM完整方案
  • 【网络安全】常见网络协议
  • 电路笔记(元器件):AD 5263数字电位计(暂记)
  • MongoDB 的使用场景
  • MongoDB 是什么
  • Python3操作MongoDB批量upsert
  • 相机模数转换
  • C++20 新特性解析
  • C# ManualResetEvent 类 使用详解
  • 动态规划——路径问题②
  • ChatGPT macOS 桌面应用让你的编程体验更上一层楼
  • Java持久化之--Spring Data JPA
  • excel里的函数技巧(持续更新中)
  • 基于python sanic框架,使用Nacos进行微服务管理
  • Day84:数据可视化
  • fetch() 与 XMLHttpRequest 的差异
  • TDengine 产品由哪些组件构成
  • .NET Web-静态文件访问目录浏览
  • SQL数据清理:去除字段值中的多余符号(Demo例子)