首页 > 其他分享 >手机功能的升级

手机功能的升级

时间:2024-11-13 18:43:02浏览次数:1  
标签:receiveCall 功能 cout void 升级 Phone PhoneDecorator 手机 public

用装饰模式模拟手机功能的升级过程:简单的手机(SimplePhone)在接收来电时,会发出声音提醒主人;而JarPhone除了声音还能振动;更高级的手机(ComplexPhone)除了声音、振动外,还有灯光闪烁提示。

#include <iostream>

using namespace std;

class Phone

{

public:

virtual void receiveCall() {};

};

class SimplePhone :public Phone

{

public:

virtual void receiveCall() {

        cout << "发出声音!" << endl;

}

};

class PhoneDecorator :public Phone {

protected:

Phone* phone;

public:

PhoneDecorator(Phone* p)

{

        phone = p;

}

virtual void receiveCall()

{

        phone->receiveCall();

}

};

class JarPhone :public PhoneDecorator {

public:

JarPhone(Phone* p) :PhoneDecorator(p) {}

void receiveCall()

{

        phone->receiveCall();

        cout << "会震动!" << endl;

}

};

class ComplexPhone :public PhoneDecorator {

public:

ComplexPhone(Phone* p) :PhoneDecorator(p) {}

void receiveCall()

{

        phone->receiveCall();

        cout << "会发光!" << endl;

}

};

int main()

{

Phone* p1 = new SimplePhone();

p1->receiveCall();

cout << "Jarphone" << endl;

Phone* p2 = new JarPhone(p1);

p2->receiveCall();

cout << "ComplexPhone" << endl;

Phone* p3 = new ComplexPhone(p2);

p3->receiveCall();

return 0;

}

标签:receiveCall,功能,cout,void,升级,Phone,PhoneDecorator,手机,public
From: https://www.cnblogs.com/zh-ang-zhang/p/18544540

相关文章

  • 极速启动,函数计算弹性降本能力再升级
    作者:墨飏在数字化转型的大潮中,云计算成为推动创新和优化业务流程的关键力量。作为阿里巴巴集团的核心产品之一,函数计算(FunctionCompute)引领着Serverless计算的新时代。本文将深入探讨函数计算如何通过技术革新实现提效降本,以及其在AI业务、数据处理和Web应用等多个领域的......
  • 企业“3D官网”主要有哪些功能?
    3D官网可以作为企业营销和推广的重要渠道之一。通过分享和传播3D官网链接,企业可以吸引更多的潜在客户关注和了解企业的产品或服务。同时,3D官网还可以与社交媒体、搜索引擎等营销渠道相结合,形成全方位的营销和推广体系。企业3D官网具备多种功能,以下是其中一些主要功能:1、3D展......
  • 谷歌浏览器的实验性功能介绍
    谷歌浏览器(GoogleChrome)作为全球最受欢迎的网络浏览器之一,以其快速、稳定和丰富的扩展功能而闻名。除了常见的功能外,Chrome还提供了许多实验性功能,这些功能可以通过启用一些隐藏的标志来访问。本文将详细介绍如何启用和使用这些实验性功能,同时也会涉及到一些常见问题的解决方......
  • 值班空岗睡岗识别智慧矿山一体机斜井人员进出识别系统管理功能解析
    在矿山行业迈向智能化、自动化的进程中,智慧矿山一体机应运而生,它是一款专为矿山安全监控和管理设计的创新设备。这款设备不仅能够提升矿山的安全监管能力,还能够通过边缘计算技术实现对矿山安全风险的实时监控和预警。本文将详细介绍值班空岗睡岗识别智慧矿山一体机的系统管理功能,......
  • 科研绘图系列:R语言功能通路表达热图(heatmap)
    文章目录介绍加载R包数据下载导入数据数据预处理热图:所有通路结果系统信息介绍R语言功能通路表达热图加载R包library(readxl)library(ggpubr)library(ggh4x)library(ggtext)library(tidyverse......
  • 腾讯通停更后最佳升级方案:轻松应对2027信创国产化全面替代
    一、腾讯通RTX继续使用面临的核心难题自腾讯通RTX宣布停更、资源从官网下架,用户迅速失去了官方更新、技术支持等关键服务,同时还需面临以下无法解决的问题:国产系统及移动端支持缺失:腾讯通RTX仅支持Windows与Mac系统,无法在国产系统或移动端使用,影响日常办公需求。组织架构更新滞......
  • 百万数据做支撑,智能算法赋能标准查重工作全面升级
    标准查重—快速检查标准重复度—在标准编制过程中,查重工作是确保标准质量、维护其科学性与原创性的重要环节。例如,在编制某一特定行业的产品质量标准时,需要与该行业已有的国家、行业、地方标准进行全面比对,查看是否存在重复条款、相似表述等情况。尤其是在全球化背景下,很多......
  • 瓷砖的规格种类非常多,适用于不同场景和用途。常见的规格通常按尺寸、材质、功能和安装
    瓷砖的规格种类非常多,适用于不同场景和用途。常见的规格通常按尺寸、材质、功能和安装方式等进行分类。下面是一些常见瓷砖规格及其施工建议的对比表格,帮助选择适合的规格和施工人数。瓷砖规格与施工建议规格/尺寸(mm)适用场景常见材质适用类型施工人数建议优点缺点......
  • 如何重置已锁定的手机现在解决了
    “我的vivo手机已锁定,现在无法解锁。我可以在没有密码的情况下重置它吗?但是重置它的正确步骤是什么?”在可访问的vivo手机上执行恢复出厂设置很简单,但如果您的vivo手机被锁定怎么办?您知道如何重置已锁定的Samsun手机吗?如您所知,如果您忘记了密码,则无法直接解锁或访问。那么,重......
  • 如何解锁碎屏手机(Android 指南)
    一般来说,电子设备很脆弱,除非它们是为大量使用而设计的。Android智能手机、平板电脑和智能手表也存在这种脆弱性。Android智能手机或平板电脑的触摸屏是您访问和使用手机的最重要部件之一。如果屏幕在锁定时破裂或破裂,肯定会令人不安。您将陷入如何解锁屏幕破损的手机的困......