设计模式第四天|适配器模式 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;
}

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

相关推荐
Kapaseker2 小时前
写了这么久 Kotlin,你真的理解 in、out 和 * 吗?
android·kotlin
geovindu3 小时前
rust: pool Pattern (续)
开发语言·后端·设计模式·rust·对象池简写模式
小七在进步3 小时前
C++内存管理:new/delete vs malloc/free深度解析
android·java·c++
geovindu16 小时前
sql:Search-Optimized SQL Queries using mysql 9.0
android·数据库·sql·mysql·数据库开发·数据库架构
知之则吱吱18 小时前
Android 开发者验证机制迎来新变化:核心要求、实施时间与开发者应对指南
android·google
墨天梦19 小时前
D09_Retrofit接口与数据转换
android·kotlin·retrofit
电商API_1800790524720 小时前
闲鱼商品列表API接口商品详情API接口请求示例(含一份真实响应数据示例)
android·数据挖掘·网络爬虫·跨境电商·反向海淘
我命由我1234520 小时前
Android 广播 - 组件通信
android·java·开发语言·android studio·android jetpack·android-studio·android runtime
阿俊-全栈开发20 小时前
LikeShop 单商户标准版商品管理二开:分类、SKU 规格与库存联动实现
android·likeshop·likeshop开源商城