2024.11.26(周二)

news/2024/12/2 16:35:09/文章来源:https://www.cnblogs.com/Sunyiran/p/18566850

旅游的出行方式有乘坐飞机旅行、乘火车旅行和自行车游,不同的旅游方式有不同的实现过程,客户可以根据自己的需要选择一种合适的旅行方式。

实验要求:

1.  画出对应的类图;

2.  提交源代码;

3.  注意编程规范。

 

 

1、类图

 

 

2、源代码

#include<iostream>

using namespace std;

class TravelStrategy {

public:

    virtual void travel()=0;

};

class Person {

private:

    TravelStrategy *strategy;

public:

    void setStrategy(TravelStrategy *strategy) {

        this->strategy=strategy;

    }

    void travel() {

        this->strategy->travel();

    }

};

class TrainStrategy : public TravelStrategy{

public:

    void travel() {

        cout<<"乘火车旅游"<<endl;

    }

};

class BicycleStrategy : public TravelStrategy{

public:

    void travel() {

        cout<<"自行车游"<<endl;

    }

};

class AirplaneStrategy: public TravelStrategy{

public:

    void travel() {

        cout<<"乘坐飞机旅游"<<endl;

    }

};

int main(){

        cout<<"我要去旅游,选哪种出行方式呢?"<<endl;

        Person *pr=new Person();

        TravelStrategy *strategy=new TrainStrategy();

        pr->setStrategy(strategy);

        pr->travel();

        cout<<"------------------------------"<<endl;

        cout<<"我要去旅游,选哪种出行方式呢?"<<endl;

        TravelStrategy *strategy2=new BicycleStrategy();

        pr->setStrategy(strategy2);

        pr->travel();

        cout<<"------------------------------"<<endl;

        cout<<"我要去旅游,选哪种出行方式呢?"<<endl;

        TravelStrategy *strategy3=new AirplaneStrategy();

        pr->setStrategy(strategy3);

        pr->travel();

}

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

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

相关文章

多人编辑的终极指南,版本冲突不是问题!

在局域网环境下实现高效文档协同编辑,一直是企业和科研团队关注的焦点。版本冲突是这一过程中的核心技术挑战之一,它不仅关系到协作效率,还直接影响最终成果的质量。 在传统的文档协同中,多个用户同时编辑同一文档可能导致内容覆盖、丢失或逻辑混乱。这种问题常见于无版本控…

摄像机实时接入分析平台视频分析网关机动车结构化识别算法:“智眼识车”的技术革新

随着智能交通系统的发展,视频分析技术在机动车识别和监控中的应用越来越广泛。视频分析网关作为这一技术的核心组件,利用先进的算法对机动车进行结构化识别,以提升交通管理的效率和准确性。本文将探讨摄像机实时接入分析平台视频分析网关中机动车结构化识别算法的原理和应用…

HCIP-14 BGP基础

本文介绍了BGP基础知识,涵盖了:BGP产生的背景、AS的概念、BGP的特征等。 本文中我们详细地学习了BGP的对等体关系建立过程以及BGP状态机,学习时将对等体关系建立过程与状态机的转换相结合有助于理解记忆。不同于IGP路由协议,BGP不能自己发现、计算路由条目,其路由条目由IG…

【SpringCloud】LoadBalancer——服务调用与负载均衡

基本介绍 主要功能:LoadBlancer的主要作用就是提供客户端软件的负载均衡,然后由OpenFeign去调用具体的微服务。负载均衡的算法,分为轮询和随机。 使用 场景: 订单模块的负载均衡。通过消费者模块,访问订单支付模块(子模块8001/8002/8003) 例子前提:已经使用了注册服务中…

VMware Cloud Director 10.6 - 领先的云服务交付平台

VMware Cloud Director 10.6 - 领先的云服务交付平台VMware Cloud Director 10.6 - 领先的云服务交付平台 VMware Cloud Director | Leading Cloud Service Delivery Platform 请访问原文链接:https://sysin.org/blog/vmware-cloud-director-10/ 查看最新版。原创作品,转载请…

Winform窗体控件双向绑定数据模拟读写PLC数据

1.用Modbus工具模拟PLC2.创建一个实体类点击查看代码 internal class Data : INotifyPropertyChanged {ushort[] ushorts = new ushort[10];public ushort D0 { get => ushorts[0]; set { ushorts[0] = value; OnPropertyChanged(nameof(D0)); } }public ushort D1 { get =&…

解决:点击编辑时预警通知人(与科室下拉联动)会闪一下Id再显示汉字

表单:<el-form-item label="通知人所在科室:" prop="ksdm"><el-selectv-model="formData.ksdm"placeholder="请选择"style="width: 90%"clearablefilterable@change="handleKsChange"><el-option…

浏览器拨测:将网站护航的阵地再前推一米

建立对整个服务周期的可观测能力并对其中潜在的攻击做出识别,是保证内容合规和服务质量的重要的基础能力。近年来,针对网站的攻击形式愈发多样,手段也变得更加隐蔽,使用浏览器拨测来监控服务的整个生命周期有助于及时发现攻击,保护核心业务链路不受损。作者:泉思 “从你在…

Diffusion Model的数学原理

基本概念 Forward ProcessReverse Process

高效办公必备!四款好用的电脑桌面日程提醒软件推荐

很多打工人每天的日程安排非常多,很容易会忘记或遗漏。如果能给在电脑桌面上直接使用一款日程提醒软件,就可以准时提醒每项日程事项了,轻松提高办公效率! 下面介绍4款好用的电脑桌面日程体系软件! 一、Win系统自带日历 点击电脑桌面右下角的日期,可以在日历中的某个日期下…

2024年10款最受欢迎的项目管理工具,你用过几款?

项目管理工具在现代工作中扮演着至关重要的角色,2024 年又有哪些最受欢迎的工具呢?本文将为你详细介绍 10 款热门项目管理工具,快来看看你用过几款。 在当今快节奏的商业环境中,项目管理的效率直接影响着企业的发展和竞争力。随着科技的不断进步,各种项目管理工具层出不穷…