设计模式第四天|适配器模式 6. 扩展坞

目录

  • [【设计模式专题之适配器模式】6. 扩展坞](#【设计模式专题之适配器模式】6. 扩展坞)

【设计模式专题之适配器模式】6. 扩展坞

文章链接:卡码网设计模式

题目链接:6. 扩展坞

感觉原题和原题解不太能体现出适配器模式,自己改了一下代码。

cpp 复制代码
#include<iostream>
#include<bits/stdc++.h>

using namespace std;

class USB{
public:
    virtual void charge() = 0;
};

class TypeC{
public:
    virtual void chargetypeC() = 0; 
};

class USBAdapter : public USB{
private:
    TypeC* typeC;
public:
    USBAdapter(TypeC* typeC): typeC(typeC) {}
    
    void charge() override{
        typeC->chargetypeC();
    }
};

class NewComputer : public TypeC{
public:
    void chargetypeC() override{
        cout << "TypeC" << endl;
    }
};

int main(){
    int N;
    cin >> N;
    
    for (int i = 0; i < N; i++){
        int choice;
        cin >> choice;
        
        if (choice == 1){
            TypeC* newcomputer = new NewComputer();
            newcomputer->chargetypeC();
            delete newcomputer;
        }else if (choice == 2){
            TypeC* newcomputer = new NewComputer();
            USB* usbadapter = new USBAdapter(newcomputer);
            usbadapter->charge();
            delete newcomputer;
            delete usbadapter;
        }
    }
    return 0;
}

设计模式第四天,加油!!!

相关推荐
xiangxiongfly91522 分钟前
Android GsonFactory总结
android·gson·gsonfactory
WythePlus2 小时前
Android 14 SELinux策略深度解析
android·安全策略·selinux策略
拆房老料4 小时前
DeepSeek Super-agent 架构解析:从单任务 Agent 到持续运行的任务系统
人工智能·设计模式·系统架构
俩个逗号。。5 小时前
Kotlin flow 详解
android·开发语言·kotlin
橙光成长8 小时前
android-ad-cleaner:android免 Root 批量关闭系统开屏与营销推送
android·1024程序员节
深圳雨林凯AI8 小时前
图案裂变的底色衰减:alpha通道、亮度对比与白墨分色的量化拆解
android
mmsx8 小时前
Android 模块化收口:能力组合框架、手写 LifecycleOwner 与热修复共存
android
工一木子9 小时前
设计模式与生活⑩:地铁没变,你换了个状态
设计模式
恋猫de小郭10 小时前
Flutter 可以更直接地调用原生 API 了,Dart Direct Native Interop
android·前端·flutter
2501_9160088911 小时前
iPhone 设备信息查看,用 KeyMob 看型号、序列号、电池健康和 UDID
android·ios·小程序·https·uni-app·iphone·webview