C++ 外观模式

2023-11-17

#include<iostream>
using namespace std;

class light
{
    public:
        void on()
        {
            cout<<"开灯"<<endl;
        }
        void of()
        {
            cout<<"关灯"<<endl;
        }
};

class TV
{
    public:
        void on()
        {
            cout<<"开电视"<<endl;
        }
        void of()
        {
            cout<<"关电视"<<endl;
        }
};

class music
{
    public:
        void on()
        {
            cout<<"开音乐"<<endl;
        }
        void of()
        {
            cout<<"关音乐"<<endl;
        }
};

class homesystem
{
    public:
        void KTV()
        {
            cout<<"KTV模式启动!"<<endl;
            l.on();
            t.on();
            m.on();
        }
        void sleep()
        {
            cout<<"睡眠模式启动!"<<endl;
            l.of();
            t.of();
            m.of();
        }
        void movie()
        {
            cout<<"电影模式启动!"<<endl;
            l.of();
            t.on();
            m.on();
        }
    private:
        light l;
        TV t;
        music m;
};

int main()
{
    homesystem home;
    home.KTV();
    home.movie();
    home.sleep();
    return 0;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 外观模式 的相关文章

  • 向进度条添加百分比文本 C#

    我有一个方法可以显示进程栏何时正在执行以及何时成功完成 我工作得很好 但我想添加一个百分比 如果完成 则显示 100 如果卡在某个地方 则显示更少 我在网上做了一些研究 但我无法适应我正在寻找的解决方案 这是我的代码 private voi
  • 未提供参数时如何指定 C# System.Commandline 行为?

    在我的控制台应用程序中 当未提供控制台参数时 将执行我指定列表 在本例中为参数 3 的任何处理程序 调用该处理程序时 布尔参数设置为 false 但对我来说 根本不调用它更有意义 如何防止这种情况发生并显示帮助文本 using System
  • 如何在c++中读取pcap文件来获取数据包信息?

    我想用 C 编写一个程序来读取 pcap 文件并获取数据包的信息 例如 len sourc ip flags 等 现在我找到了如下代码 我认为它会帮助我获取信息 但是我有一些疑问 首先我想知道应该将哪个库添加到我的程序中 然后什么是 pca
  • 确保 StreamReader 不会挂起等待数据

    下面的代码读取从 tcp 客户端流读取的所有内容 并且在下一次迭代中它将仅位于 Read 上 我假设正在等待数据 我如何确保它不会在没有任何内容可供读取时返回 我是否必须设置低超时 并在失败时响应异常 或者有更好的办法吗 TcpClient
  • MVC 在布局代码之前执行视图代码并破坏我的脚本顺序

    我正在尝试将所有 javascript 包含内容移至页面底部 我正在将 MVC 与 Razor 一起使用 我编写了一个辅助方法来注册脚本 它按注册顺序保留脚本 并排除重复的内容 Html RegisterScript scripts som
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • 由 IHttpClientFactory 注入时模拟 HttpClient 处理程序

    我创建了一个自定义库 它会自动为依赖于特定服务的 Polly 策略设置HttpClient 这是使用以下方法完成的IServiceCollection扩展方法和类型化客户端方法 一个简化的例子 public static IHttpClie
  • 从 Linux 内核模块中调用用户空间函数

    我正在编写一个简单的 Linux 字符设备驱动程序 以通过 I O 端口将数据输出到硬件 我有一个执行浮点运算的函数来计算硬件的正确输出 不幸的是 这意味着我需要将此函数保留在用户空间中 因为 Linux 内核不能很好地处理浮点运算 这是设
  • 具有交替类型的可变参数模板参数包

    我想知道是否可以使用参数包捕获交替参数模式 例如 template
  • Qt - ubuntu中的串口名称

    我在 Ubuntu 上查找串行端口名称时遇到问题 如您所知 为了在 Windows 上读取串口 我们可以使用以下代码 serial gt setPortName com3 但是当我在 Ubuntu 上编译这段代码时 我无法使用这段代码 se
  • 等待进程释放文件

    我如何等待文件空闲以便ss Save 可以用新的覆盖它吗 如果我紧密地运行两次 左右 我会得到一个generic GDI error
  • CMake 无法确定目标的链接器语言

    首先 我查看了this https stackoverflow com questions 11801186 cmake unable to determine linker language with c发帖并找不到解决我的问题的方法 我
  • “接口”类似于 boost::bind 的语义

    我希望能够将 Java 的接口语义与 C 结合起来 起初 我用过boost signal为给定事件回调显式注册的成员函数 这非常有效 但后来我发现一些函数回调池是相关的 因此将它们抽象出来并立即注册所有实例的相关回调是有意义的 但我了解到的
  • 使用管道时,如果子进程数量大于处理器数量,进程是否会被阻塞?

    当子进程数量很大时 我的程序停止运行 我不知道问题是什么 但我猜子进程在运行时以某种方式被阻止 下面是该程序的主要工作流程 void function int process num int i initial variables for
  • 如何设置 log4net 每天将我的文件记录到不同的文件夹中?

    我想将每天的所有日志保存在名为 YYYYMMdd 的文件夹中 log4net 应该根据系统日期时间处理创建新文件夹 我如何设置它 我想将一天中的所有日志保存到 n 个 1MB 的文件中 我不想重写旧文件 但想真正拥有一天中的所有日志 我该如
  • 动态添加 ASP.Net 控件

    我有一个存储过程 它根据数据库中存储的记录数返回多行 现在我想有一种方法来创建 div 带有包含该行值的控件的标记 如果从数据库返回 10 行 则 10 div 必须创建标签 我有下面的代码来从数据库中获取结果 但我不知道如何从这里继续 S
  • 将 MQTTNet 服务器与 MQTT.js 客户端结合使用

    我已经启动了一个 MQTT 服务器 就像this https github com chkr1011 MQTTnet tree master例子 该代码托管在 ASP Net Core 2 0 应用程序中 但我尝试过控制台应用程序 但没有成
  • 如果没有抽象成员,基类是否应该标记为抽象?

    如果一个类没有抽象成员 可以将其标记为抽象吗 即使没有实际理由直接实例化它 除了单元测试 是的 将不应该实例化的基类显式标记为抽象是合理且有益的 即使在没有抽象方法的情况下也是如此 它强制执行通用准则来使非叶类抽象 它阻止其他程序员创建该类
  • 当从finally中抛出异常时,Catch块不会被评估

    出现这个问题的原因是之前在 NET 4 0 中运行的代码在 NET 4 5 中因未处理的异常而失败 部分原因是 try finallys 如果您想了解详细信息 请阅读更多内容微软连接 https connect microsoft com
  • 当我使用 OpenSSL1.1.0g 根据固定的 p 和 g 值创建 Diffie Hellman 密钥协议密钥时,应该执行哪些检查?

    您好 我尝试通过这段代码使用修复 p 和 g 参数来制作 Diffie Hellman Keysanswer https stackoverflow com a 54538811 4706711 include

随机推荐

  • 机器学习实战—利用SVD简化数据

    一 SVD的应用 奇异值分解 优点 简化数据 去除噪声 提高算法的结果 缺点 数据转换难以理解 利用SVD能够实现用小得多的数据集来表示原始数据集 这样做 实际上是去除了噪声和冗余信息 当我们视图节省空间时 去除噪声和冗余信息是目标 但是我
  • 正睿OI补题(搜索)

    搜索 目录 P1036 NOIP2002 普及组 选数 P2392 kkksc03考前临时抱佛脚 P1025 NOIP2001 提高组 数的划分 P6201 USACO07OPEN Fliptile S P1460 USACO2 1 健康的
  • linux svn新增用户名密码,Linux环境SVN添加用户账号及密码

    一 检查Svn安装版本 svn version 结果为 root iZm5e9ujl2isnk0qfeeyyhZ svn version svn version 1 7 14 r1542130 compiled Apr 11 2018 02
  • OpenHarmony之轻量系统编译构建流程

    首先我们先来熟悉几个概念 子系统 子系统是一个逻辑概念 它由一个或多个具体的组件组成 OpenHarmony整体遵从分层设计 从下向上依次为 内核层 系统服务层 框架层和应用层 系统功能按照 系统 gt 子系统 gt 组件 逐级展开 在多设
  • sql语句常见问题

    between是否包括两端 与字段类型有关 数据库类型如果是data 则包括两端 如果是datatime 则不包括右边 时间转字符串 DATE FORMAT statistic date Y m d as statistic date SQ
  • obsidian移动端PC段同步

    参考内容 https zhuanlan zhihu com p 431124370 https www bilibili com read cv13339751 文章目录 1 安装坚果云 2 开启坚果云WebDAV 3 在FolderSyn
  • 转载--我与英语技术书籍

    原文 http www cnblogs com KnightsWarrior p EnglishTechBooks html 我与英语技术书籍 2013 09 05 00 01 by 圣殿骑士 17877 阅读 122 评论 收藏 编辑 前
  • 优达学城《DeepLearning》2-1:卷积神经网络

    本次由3部分组成 可视化卷积神经网络 设计和训练一个CNN来对MNIST手写数字分类 设计并训练一个CNN来对CIFAR10数据集中的图像进行分类 本次遇到的深度学习核心概念 SGD优化器 GD就是梯度下降 Gradient Descent
  • 【SpringCloud】Ribbon定制化配置

    文章目录 使用Ribbon自带负载均衡算法 添加负载均衡算法Configuration RestTemplate使用上面负载均衡算法 自定义负载均衡算法 负载均衡算法实现 RestTemplate 在Controller中使用该负载均衡算法
  • SLIP, PPP, L2F ,PPTP, L2TP的简介以及关联

    都是网络连接的方式 其中又分为两大类 拨号连接 dialup 和虚拟私人网络 virtual private network 俗称VPN 依旧用我的浅薄而又粗俗的言语来向大家解释一下 如有错误 尽情打脸 拨号连接 Dalup 包含两种连接方
  • Tim定时器学习打卡

    通用定时器 TIM2 TIM3 TIM4和TIM5 1 主要功能 16位向上 向下 向上 向下自动装载计数器 16位可编程 可以实时修改 预分频器 计数器时钟频率的分频系数为1 65536之间的任意 数值 4个独立通道 输入捕获通道 输出比
  • 【Sql语句】创建表、修改、删除表,增添列、删除列

    编写以下语句 1 创建dept表 2 创建emp表 3 将列Last name的长度增加到50 4 根据表emp创建employees2 5 删除表employees2 6 在表dept和emp中添加新列test column 并检查所作的
  • Windows桌面文件夹删除被提示“找不到该项目”——顽固目录、文件的删除

    注意 若转载 请贴上链接 https blog csdn net qq 41042595 article details 112576438 如若发现抄袭或未标明来源现象 都可举报反馈 文章目录 问题来源场景 原因分析 解决方案 步骤一 1
  • Java创建文件和文件夹

    创建文件和文件夹 有异常 抛出或捕获IOException 如果文件 文件夹 存在则不创建 也不会覆盖文件中的内容 createNewFile 方法创建一个普通文件 使用mkdir 方法创建一个文件夹 使用mkdirs 方法创建多级文件夹
  • Android不同版本SD卡存储权限解决

    1 Android6 0之前 6 0之前是不需要动态申请权限的 直接在manifest中申请即可以正常使用
  • gulp基础:gulptask

    var gulp require gulp var browserify require gulp browserify 模块化的打包 var uglify require gulp uglify js的压缩 var webserver r
  • Mysql设计学生宿舍管理系统+考勤系统

    一 学生宿舍管理系统 要求 学校宿舍管理系统 要求包含宿舍信息 学生信息 每日的宿舍查房记录 分析 学生与宿舍的关系 m 1 宿舍的查房记录是根据宿舍来查的 与宿舍有关系 一个宿舍可以多次查房 宿舍与查房记录是1 m的关系 宿舍信息表 cr
  • 浅谈什么是大数据

    浅谈什么是大数据 有人可能发现了 我这个专栏写的就是大数据 所以我们一起来谈谈大数据 大数据概念 百度百科 对于 大数据 Big data 研究机构Gartner给出了这样的定义 大数据 是需要新处理模式才能具有更强的决策力 洞察发现力和流
  • 基于BCM53262交换芯片平台的Linux操作系统移植(一)编译环境

    2018 05 10 09 26 zhoulinhua 2018 05 10 一 源码 相关链接 http www at91 com linux4sam bin view Linux4SAM 1 a91bootstrap源码获取 git c
  • C++ 外观模式

    include