当前位置: 首页 > 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

相关文章:

  • RSS远小于容器内存限制,却收到了内存告警
  • 20250213 随笔 PV(Page View) 和 UV(Unique Visitor)
  • Hutool - BloomFilter:便捷的布隆过滤器实现
  • 2024年12月中国电子学会青少年软件编程(Python)等级考试试卷(六级)
  • 讲解ES6中的变量和对象的解构赋值
  • 创建维基百科和百度百科哪个更容易?
  • 两步在 Vite 中配置 Tailwindcss
  • 【面试】网络安全常问150道面试题
  • JAVA-Lambda表达式(高质量)
  • MySQL-mysql zip安装包配置教程
  • 开发去中心化应用(DApp)的完整路径:从0到1的实践指南
  • DeepSeek如何重塑我的编程学习:计算机新生的AI实践
  • LSTM 学习笔记 之pytorch调包每个参数的解释
  • python自动化测试之统一请求封装及通过文件实现接口关联
  • 传感器篇(一)——深度相机
  • 第一章嵌入式系统概论考点10互联网
  • 基于Spring Security 6的OAuth2 系列之十五 - 高级特性--客户端认证方式
  • 机器学习实战之基于随机森林的气温预测
  • 设计模式——职责链模式
  • Maven 中的 `<dependencyManagement>` 标签及其高级用法
  • 外交部:中方对美芬太尼反制仍然有效
  • 古巴外长谴责美国再次将古列为“反恐行动不合作国家”
  • 香港根据《维护国家安全条例》订立附属法例
  • 马上评丨75万采购300元设备,仅仅终止采购还不够
  • 美元指数上涨超1%重返101上方,创1个月新高
  • 高龄老人骨折后,生死可能就在家属一念之间