*/--------------老师讲解的代码实现
封装实现代码*/
class Head{
public:
virtual void show() = 0;
};
class Text{
public:
virtual void show() = 0;
};
class Tail{
public:
virtual void show() = 0;
};
class RedHead:public Head{
public:
virtual void show(){
std::cout<<"red head"<<std::endl;
}
};
class BlueHead:public Head{
public:
virtual void show(){
std::cout<<"blue head"<<std::endl;
}
};
class YellowHead:public Head{
public:
virtual void show(){
std::cout<<"Yellow head"<<std::endl;
}
};
class RedTail:public Tail{
public:
virtual void show(){
std::cout<<"Red tail"<<std::endl;
}
};
class BlueTail:public Tail{
public:
virtual void show(){
std::cout<<"Blue tail"<<std::endl;
}
};
class LongText:public Text{
public:
virtual void show(){
std::cout<<"Long text"<<std::endl;
}
};
//结构封装
class List{
private:
Head *headPtr;
Text *textPtr;
Tail *tailPtr;
public:
List()
{
headPtr = NULL;
textPtr = NULL;
tailPtr = NULL;
}
void setCOM(Head *head, Text *text, Tail *tail){
headPtr = head;
textPtr = text;
tailPtr = tail;
}
void showCOM()
{
if(headPtr != NULL)
headPtr->show();
if(textPtr != NULL)
textPtr->show();
if(tailPtr != NULL)
tailPtr->show();
}
~List(){
delete headPtr;
delete textPtr;
delete tailPtr;
}
};
分享到:
相关推荐
在Java这样的静态类型语言中,通常不直接支持鸭子类型,但可以通过某些设计模式或库来模拟这种行为,提高代码的灵活性和可扩展性。 【标签】"开源项目" 指出这两个压缩包文件都是开源的,这意味着它们的源代码可以...
- 限制可能涉及到对某些低功耗或节能模式的支持,以及对某些非标准PCIe设备的兼容性。 - 对于内存映射的复杂性,可能存在一些限制,例如大页支持或特定地址范围的处理。 **3. 设备要求** - 最小设备要求是指IP核...
在硬件设计中,EMIF桥接器扮演着至关重要的角色,它允许系统芯片(SoC)连接到不同类型的内存,如DRAM、SRAM或闪存,以便进行数据交换。 在v1.7.0这个版本中,可能包含了一些新特性、性能优化或者错误修复。软件...
它提供了MVC(Model-View-Controller)架构模式,内置了ORM(Object-Relational Mapping)系统,能够方便地处理数据库操作,同时还提供了模板语言、表单处理、用户认证等多种功能,是Python Web开发的首选工具之一。...
Doctrine2 支持 Active Record 和 Data Mapper 模式,提供了实体管理器、实体、映射和查询构造器等核心概念。在 Laravel 中集成 Doctrine2,可以利用其强大的查询构建器(DQL)和对复杂关系的支持。 **2. SQL 日志...
在Laravel框架中,"application bridge"是一种设计模式,它允许开发者将不同组件或服务连接起来,以便更好地管理和协调应用程序的各个部分。标题中的"Laravel开发-application-bridge-slim"暗示我们将讨论一个针对...
1. **Bridge.h**: 这个头文件定义了桥模式的抽象接口,通常包含多个纯虚函数,用于定义接口的公共操作。 2. **ConcreteImplementorA.h/cpp**: 具体实现类A的头文件和源文件,实现了Bridge接口的一部分或全部功能,...
**桥梁模式(Bridge)**是一种结构型设计模式,它的主要目的是将抽象部分与其实现部分解耦,使得它们可以独立地进行变化。在C++编程中,这种模式尤其有用,因为它允许我们创建灵活且可扩展的系统,同时保持代码的低...
Bridge网络模式是Docker容器的默认网络模式,在该模式下,容器和主机通过一个名为docker0的桥接器连接,实现了容器和主机之间的网络通信。docker0桥接器是一个虚拟的以太网交换机,它可以连接多个容器和主机,使得...
**桥梁设计模式(Bridge Pattern)详解** 在软件工程中,桥梁设计模式是一种结构型设计模式,它将抽象部分与其实现部分分离,使它们可以独立地进行变化。这个概念源于对象的多态性,旨在降低类之间的耦合度,提高...
本资料主要探讨了Docker的网络桥接模式(Bridge模式)以及其默认网络设备docker0,这对于理解和运用Docker服务至关重要。 首先,Docker的Bridge模式是Docker容器默认的网络模式。在这个模式下,每个容器都会被分配...
而在Diode-Bridge-Less设计中,这种传统的桥式整流被省略了,从而减少了损耗并提高了整体效率。这种方式尤其适用于高电压、大电流的应用场景。 ### 2. 关键组件与参数 #### 输入参数 - **Vin**: 输入电压为200VAC...
《RF-Bridge-EFM8BB1:重构Sonoff射频桥固件的探索与实践》 RF-Bridge-EFM8BB1项目旨在为Sonoff射频桥开发替代固件,以扩展其对24位协议的支持。这个项目的核心是利用EFM8BB1微控制器的强大功能,提供更灵活、可...
**桥梁模式(Bridge Pattern)详解** 桥梁模式是一种结构型设计模式,它将抽象部分与实现部分分离,使得它们可以独立地进行变化。这种模式的主要目的是为了将抽象化和实现化解耦,使得两者可以独立发展,增加了系统...
桥 该存储库提供了Razer网络与其他分散网络之间的桥梁。 概要 入门 这些说明将为您提供在本地计算机上运行并运行的项目的副本,以进行开发和测试。 先决条件 您需要安装npm或yarn来构建此项目。 这是入门资源的链接...
桥梁模式(Bridge Pattern)是设计模式中的一种结构型模式,它的核心思想是将抽象部分与实现部分分离,使得它们可以独立地进行变化。在这个主题中,我们将深入探讨桥梁模式的原理、结构以及如何在Java中实现。 首先...
桥梁模式是设计模式中的一种行为型模式,它通过将抽象部分与实现部分分离,使它们都可以独立地变化。JavaScript作为一种面向对象的编程语言,经常使用设计模式来提升代码的可维护性、复用性和灵活性。本文主要探讨了...
Bridge模式是一种结构型设计模式,它将抽象部分与其实现部分分离,使它们可以独立进行变化。在Bridge模式中,抽象类(Abstract Class)和实现类(Implementor Class)是两个独立的继承体系,通过一个“桥梁”类...