首页 > 其他分享 > 桥接模式

桥接模式

时间:2023-11-09 12:12:39浏览次数:29  
标签:Transportation 桥接 void 模式 class transportation public Road

 

 

 

[实验任务一]:两个维度的桥接模式

用桥接模式实现在路上开车这个问题,其中,车可以是car或bus,路可以是水泥路或沥青路。

 

 

 

 

#include <iostream>

 

using namespace std;

 

class Transportation

{

public:

    virtual void drive(){}

};

 

class Car:public Transportation

{

public:

    void drive()

    {

        cout<<"小轿车";

    }

};

 

class Bus:public Transportation

{

public:

    void drive()

    {

        cout<<"大巴";

    }

};

 

class Road

{

public:

    Transportation* transportation;

 

    Road(Transportation* transportation)

    {

        this->transportation=transportation;

    }

    virtual void driveOnRoad(){}

};

 

class CementRoad:public Road

{

public:

    CementRoad(Transportation* transportation):Road(transportation)

    {

 

    }

 

    void driveOnRoad()

    {

        transportation->drive();

        cout<<"行驶在水泥路"<<endl;

    }

};

 

class BituminousRoad:public Road

{

    public:

    BituminousRoad(Transportation* transportation):Road(transportation)

    {

 

    }

    void driveOnRoad()

    {

        transportation->drive();

        cout<<"行驶在柏油路"<<endl;

    }

};

 

 

int main()

{

    Transportation* transportation;

    Car car=Car();

    transportation=&car;

    CementRoad(transportation).driveOnRoad();

}

标签:Transportation,桥接,void,模式,class,transportation,public,Road
From: https://www.cnblogs.com/zhouzhengyang/p/17819411.html

相关文章

  • 外汇110网:怎样的交易商模式更赚钱?MM还是ECN/STP
    每天都会有一些新的交易商出现,许多企业家也受到吸引开设交易公司。运营交易经纪公司真的如此赚钱吗?交易经纪可以赚多少钱?对这个问题的简短回答是,交易商可以赚很多钱,但并不像大多数人想象的那么容易。这是一项具有挑战性的业务,涉及正确管理和推广等许多事项。不仅仅是一个网站、一......
  • 【JAVA】智慧工地信息管理系统源码 智慧大屏、手机APP、SaaS模式
    一、智慧工地可以通过安全八要素来提升安全保障,具体措施包括:  1.安全管理制度:建立科学完善的安全管理制度,包括安全标准规范、安全生产手册等,明确各项安全管理职责和要求。  2.安全培训教育:对工地人员进行安全培训和教育,提高他们的安全意识和安全素质,使其掌握必要的安全知......
  • 大模型训练中的同步与异步模式
    在深度学习领域,GPU(图形处理器)因其高效的并行计算能力而成为训练深度神经网络的常用硬件。当我们在一个GPU上训练模型时,我们通常会使用一种称为“数据并行”(DataParallelism)的技术,将数据集分成多个小块,并在多个GPU上并行处理。然而,当涉及到多个GPU的训练时,存在两种主要模式:同步模式......
  • CH32FV32系列进入STOP及STANBY模式电流大的问题
    关于CH32FV32低功耗模式(STOP及STANDBY)。 我们EVT例程中将所有IO均配置成下拉输出而防止外部器件漏电流引起功耗增大。但是有的客户进入低功耗后需要IO电平保持从而出现了进入STOP/STANBY模式后电流还是很大(STOP几百个uA STANDBY一百多uA)。手册中低功耗电流如下: 对此通......
  • 装饰模式实现
    用装饰模式模拟手机功能的升级过程:简单的手机(SimplePhone)在接收来电时,会发出声音提醒主人;而JarPhone除了声音还能振动;更高级的手机(ComplexPhone)除了声音、振动外,还有灯光闪烁提示。类图:  源码:1. 提交源代码;packagesimplePhone;/** *抽象手机构件类:抽象构件类 ......
  • Redis 哨兵模式的原理及其搭建
    1.Redis哨兵Redis提供了哨兵(Sentinel)机制来实现主从集群的自动故障恢复。1.1.哨兵原理1.1.1.集群结构和作用哨兵的结构如图:哨兵的作用如下:监控:Sentinel会不断检查您的master和slave是否按预期工作。自动故障恢复:如果master故障,Sentinel会将一个slave提升为master。当......
  • 每日随笔——抽象工厂模式
    [实验任务一]:人与肤色使用抽象工厂模式,完成下述产品等级结构: 实验要求:1.画出对应的类图;2.提交源代码;3.注意编程规范。1、类图 2、 源码BlackFactorypackagesc4;publicclassBlackFactoryimplementsMWFactory{publicstaticManproduceMan(){......
  • 每日总结之设计模式:组合模式
    一、什么是组合模式组合模式也成为整体部分模式,是一种结构型设计模式。它将对象组合成树形的层次结构,用来表示“整体-部分”的关系。通过组合模式,我们可以使用相同的方式处理单个对象和多个对象组合。二、角色组成组件(Component):定义组合模式中所有对象共有的方法和属性。叶......
  • C++跨DLL内存所有权问题探幽(一)DLL提供的全局单例模式
    最近在开发的时候,特别是遇到关于跨DLL申请对象、指针、内存等问题的时候遇到了这么一个问题。问题跨DLL能不能调用到DLL中提供的单例?问题比较简单,就是我现在有一个进程A,有DLLBDLLC,这两个DLL都依赖DLLD的单例,这个时候如果A调用了DLLB和DLLC,那么B和C能否正确引用到这个指......
  • 常用设计模式大全
    1.设计模式设计模式(Designpattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件......