[设计模式]外观模式

外观模式:为一组具有类似功能的类群,比如类库,子系统等等,提供一个一致的简单的界面。

代码如下:

#include <iostream>
using namespace std;class Television
{
public:void on(){cout << "Tv on" << endl;}void off(){cout << "Tv off" << endl;}
};class Light
{
public:void on(){cout << "Light on" << endl;}void off(){cout << "Light off" << endl;}
};class Audio
{
public:void on(){cout << "Audio on" << endl;}void off(){cout << "Audio off" << endl;}
};class Microphone
{
public:void on(){cout << "Microphone on" << endl;}void off(){cout << "Microphone off" << endl;}
};class Dvd
{
public:void on(){cout << "Dvd on" << endl;}void off(){cout << "Dvd off" << endl;}
};class KTVMode
{
public:KTVMode(){pTv = new Television;pLight = new Light;pAudio = new Audio;pMicrophone = new Microphone;pDvd = new Dvd;}void onKtv(){pTv->on();pLight->on();pAudio->on();pMicrophone->on();pDvd->on();}void offKtv(){pTv->off();pLight->off();pAudio->off();pMicrophone->off();pDvd->off();}private:Television *pTv;Light *pLight;Audio *pAudio;Microphone *pMicrophone;Dvd *pDvd;~KTVMode(){delete pTv;delete pLight;delete pAudio;delete pMicrophone;delete pDvd;}
};void test01()
{KTVMode *ktv = new  KTVMode;ktv->onKtv();
}int main()
{test01();return 0;
}

测试结果:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/309964.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Keywords Search HDU - 2222(AC自动机模板)

题意&#xff1a; 给定 n个长度不超过 50的由小写英文字母组成的单词准备查询&#xff0c;以及一篇文章&#xff0c;问&#xff1a;文中出现了多少个待查询的单词。多组数据。 题目&#xff1a; In the modern time, Search engine came into the life of everybody like Go…

php fpm 调试模式,调试 – nginx php-fpm xdebug netbeans只能启动一个调试会话

在过去,我使用apache mod_PHP xdebug netbeans进行开发我的网站(服务器是我的本地机器,运行Debian Squeeze),很高兴 – xdebug工作正常,调试会话可以随时启动和停止,当我需要时它.但是,当我转移到Nginx PHP_fpm xdebug netbeans时,我遇到了一些调试问题.>我的调试会话可能会…

介绍一个基于 .NET 的船的新 PHP SDK + Runtime: PeachPie

前言这几天想基于 .NET Core 搞一个自己的博客网站&#xff0c;于是在网上搜刮各种博客引擎&#xff0c;找到了这些候选&#xff1a;Blogifier、Miniblog 以及 edi 写的 Moonglade。Blogifier&#xff1a;这是前端是个 Angular SPA 应用&#xff0c;不利于 SEO&#xff0c;同时…

[设计模式]适配器模式

适配器模式:将一个类的接口转换成客户希望的另外一个接口&#xff0c;使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 &#xff08;将已经写好的&#xff0c;但是不符合需求的接口&#xff0c;转换成目标接口&#xff09; 代码如下: #include <iostream>…

数位dp总结 之 从入门到模板(stO)

#转载自https://blog.csdn.net/wust_zzwh/article/details/52100392 基础篇 数位dp是一种计数用的dp&#xff0c;一般就是要统计一个区间[le,ri]内满足一些条件数的个数。所谓数位dp&#xff0c;字面意思就是在数位上进行dp咯。数位还算是比较好听的名字&#xff0c;数位的含义…

matlab极大无关组,matlab最大无关组

与《matlab最大无关组》相关的范文课程设计任务书 2011-2012学年第一学期 专业: 通信工程 学号: 姓名: 课程设计名称: 信息论与编码课程设计 设计题目: 对称信道容量的求解 完成期限:自 2011 年 12 月 19 日至 2011年 12 月 25 日共 1 周 一&#xff0e;设计目的 1.深刻理解信道…

[工具]微软的学习平台Microsoft Learn很好用,推荐一下

1. 什么是Microsoft LearnMicrosoft Learn是微软这两年大力推广的全新学习平台&#xff0c;可提供 Microsoft 产品交互式学习体验。基本上无需登录即可使用&#xff0c;但登录后可以使用更多功能&#xff0c;包括&#xff1a;累积分数和成就跟踪学习活动进度使用免费的 Azure 资…

[PAT乙级]1030 完美数列

给定一个正整数数列&#xff0c;和正整数 p&#xff0c;设这个数列中的最大值是 M&#xff0c;最小值是 m&#xff0c;如果 M≤mp&#xff0c;则称这个数列是完美数列。 现在给定参数 p 和一些正整数&#xff0c;请你从中选择尽可能多的数构成一个完美数列。 输入格式&#xf…

php抓取多个网页合并,PHP 使用 CURL 同步抓取多个网页

一般CURL 抓网页的方法&#xff0c; 是一页一页抓&#xff0c; 假设要抓 4页&#xff0c; 所费时间各别是 5,10,7,5 秒&#xff0c; 那全部总合所花的时间就是 5 10 7 5 27 秒。若能同时间去抓取多个网页&#xff0c; 所花费的时间 5,10,7,5 秒&#xff0c; 全部总合所花的…

多终端数据同步机制设计

多终端数据同步机制设计之前写过一篇文章数据同步流程设计的文章&#xff0c;这里整理一下在公众号里分享一下Intro因为项目需要&#xff0c;需要设计一个多终端数据同步的机制&#xff0c; 需要满足以下条件&#xff1a;多个终端数据操作及同步&#xff0c;终端可能离线每次同…

Popular Cows POJ - 2186(tarjan算法)+详解

题意&#xff1a; 每一头牛的愿望就是变成一头最受欢迎的牛。现在有 N头牛&#xff0c;给你M对整数&#xff08;A,B&#xff09;&#xff0c;表示牛 A认为牛B受欢迎。这种关系是具有传递性的&#xff0c;如果 A认为 B受欢迎&#xff0c; B认为 C受欢迎&#xff0c;那么牛 A也认…

[设计模式]装饰模式

装饰模式: 通过AbstractEquipment装饰AbstractHero&#xff0c;使其heroA增加了一个穿装备的功能。 代码如下: #include <iostream> using namespace std;class AbstractHero {public:virtual void showStatus() 0;int hp;int mp;int at;int df; };class HeroA :publi…

ASP.NET Core分布式项目实战(Consent Controller Get请求逻辑实现)--学习笔记

任务20&#xff1a;Consent Controller Get请求逻辑实现接着上一节的思路&#xff0c;实现一下 ConsentController根据流程图在构造函数注入 IClientStore&#xff0c;IResourceStore&#xff0c;IIdentityServerInteractionService构造函数private readonly IClientStore _cli…

[设计模式]观察者模式

代码如下: #include <iostream> #include <list> using namespace std;class AbstractHero { public:virtual void update() 0; };class HeroA :public AbstractHero { public:HeroA(){cout << "英雄A正在打BOSS" << endl;}virtual void u…

oracle导出BOM文件,ORACLE ERP导数据(BOM清单)-备份恢复-Oracle频道-中国IT实验室

方法&#xff1a;把数据导入BOM清单的方法是&#xff0c;把数据导入接口表中&#xff0c;让其自动运行既可。上传文件的时候&#xff0c;要注意使 用ASCII字符模式。1、自己建立一中转表drop table cux_bill_temp;create table cux_bill_temp(bill_sequence_id number,as…

RMQ算法讲解

版权声明&#xff1a;本文为博主原创文章&#xff0c;遵循 CC 4.0 BY-SA 版权协议&#xff0c;转载请附上原文出处链接和本声明。 本文链接&#xff1a;https://blog.csdn.net/qq_41311604/article/details/79900893 </div><!--一个博主专栏付费入口--><!--一个…

Kubernetes是容器化微服务的圣杯么?

导语Kubernetes已成为山丘之王。开源技术Kubernetes以及随后的发行版正以超快的速度让人们爱上容器技术&#xff0c;并且开始夺回对容器化环境的控制权。不幸的是&#xff0c;编排容器只是战斗进行了一半。正文云服务提供商接连宣布他们的编排选择是Kubernetes私有发行版&#…

[设计模式]命令模式

代码如下: #include <iostream> #include <queue> #include <Windows.h> using namespace std;class HandleClientProtocol { public:void addMoney(){cout << "给玩家增加金币" << endl;}void addDiamond(){cout << "给玩…

oracle 附加日志 挂起,Oracle 附加日志(supplemental log)

附加日志(supplemental log)可以指示數據庫在日志中添加額外信息到日志流中&#xff0c;以支持基於日志的工具&#xff0c;如邏輯standby、streams、GoldenGate、LogMiner。可以在數據庫和表上設置。1.數據庫級設置&#xff0c;分兩類&#xff1a;1.1最小附加日志(minimal supp…

Zjnu Stadium HDU - 304 加权并查集

题意&#xff1a; 观众席围成一圈。列的总数是300&#xff0c;编号为1–300&#xff0c;顺时针计数&#xff0c;我们假设行的数量是无限的。将有N个人去那里。他对这些座位提出了要求&#xff1a;这意味着编号A的顺时针X距离坐着编号B。例如&#xff1a;A在第4列&#xff0c;X…