首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C++代码,将应填入(1)~(5)处的字句写在答题纸的对应栏内。 【说明】 某航空公司的会员积分系统将其会员划分为普卡(Basic)、银卡(Silver)和金卡(Gold)三个等级。非会员(NonMember)可以申请成为普卡
阅读下列说明和C++代码,将应填入(1)~(5)处的字句写在答题纸的对应栏内。 【说明】 某航空公司的会员积分系统将其会员划分为普卡(Basic)、银卡(Silver)和金卡(Gold)三个等级。非会员(NonMember)可以申请成为普卡
admin
2019-10-08
17
问题
阅读下列说明和C++代码,将应填入(1)~(5)处的字句写在答题纸的对应栏内。
【说明】
某航空公司的会员积分系统将其会员划分为普卡(Basic)、银卡(Silver)和金卡(Gold)三个等级。非会员(NonMember)可以申请成为普卡会员。会员的等级根据其一年内累积的里程数进行调整。描述会员等级调整的状态图如图5所示。现采用状态(State)模式实现上述场景,得到如图6所示的类图。
【C++代码】代码修改点做了备注
#include<iostream>,
using namespace std:
class FrequentFlyey;class CBasic;class Csilver;class CGold;class CNoCustomer;//提前引用
class CState
{
private:
int flyMiles; ∥里程数
publie:
_____(1);
//根据累积里程数调整会员等级
};
class FrequentFlyer
{
friend class CBasic;
friend CSilver; //此处在CSilver前面少了class
friend class CGold;
private: //此处应该改为public题目有误
CState*state;CState*nocustomer;CState*basic;CState*silver;CState*gold;
double flyMiles;
public:
FrequentFlyer()
{
flyMiles=0;
setState(nocustomer);
}
void setState(CState*state)
{
this->state=state;
}
void travel(int miles)
{
double bonusMiles=state->travel(miles,this);
flyMiles=flyMiles+bonusMiles;
}
};
class CNoCustomer:public CState //非会员
{
public:
double travel(int miles,FrequentFlyer*context)
{
tout<<’’Your travel will not account for points\n’’; //不累积里程数
return miles;
}
};
class CBasil:public CState //普卡会员
{
public:
double travel(int miles,FrequentFlyer*context)
{
if(context->flyMiles>=25000&&context->flyMiles<50000)
_____(2);
if(context->flyMiles<25000)
_____(3);
returnmiles+0.5*miles; //累积里程数
}
};
class CGOld:public CState //金卡会员
{
public:
double travel(int miles,FrequentFlyer*context)
{
if(context->flyMiles>=25000&&context->flyMiles<50000)
_____(4);
if(eontext->flyMiles<25000)
_____(5);
return miles+0.5*miles; //累积里程数
)}
};
class Csilver:public CState //银卡会员
{
double travel(int miles,FrequentFlyer*context)
{
if(context->tlyMiles<25000)
context->setState(context->basic);
if(context->flyMiles>=50000)
context->setState(context->gold);
return (miles+0.25*miles); //累积里程数
}
};
选项
答案
(1)virtual double travel(int miles,FrequentFlyer*context)=0 (2)context->setState(context->Cbasic) (3)context->setState(context->CSilve) (4)context->setState(context->Cbasic) (5)context->setState(context->CSilve)
解析
转载请注明原文地址:https://kaotiyun.com/show/3sxZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
指出上述解决方案存在什么问题?需要增加什么设备?如何连接?若在该局域网实现VLAN,路由器将起什么作用?
阅读以下有关网络规划的叙述,回答问题1至问题3。网络工程是一项复杂的系统工程,一般可分为网络规划、网络设计、工程实施、系统测试验收和运行维护等几个阶段。网络规划是在需求分析的基础上,进行系统可行性分析和论证,以确定网络总体方案。网络规划阶段任务完成
阅读以下在图书馆无线阅览室部署WLAN的技术说明,根据要求回答问题1至问题6。【说明】某图书馆已有一个66台客户机的小型局域网。由于信息化发展的要求,现有的网络不能满足读者的需求,经过对几个网络扩容方案进行分析、对比和探讨后,决定在新建的电子信息
阅读以下说明,回答问题1、问题2、问题3和问题4,将解答填入对应栏内。[说明]某公司想建立一个Intranet,建立FTP服务器、DNS服务器、Email服务器、Web服务器和内部业务服务器,同时其他部门的工作人员也要联网,要求这些机器有的
认真阅读以下基于Windows2003操作系统IPv6的技术说明,根据要求回答问题1至问题4。【说明】由于现有的网络设备大部分都是基于IPv4的,也不可能在短时间内都更新换代来支持IPv6,因此在相对比较长的一段时期内,IPv6网络将和IPv4
设计布线时,需要考虑哪些主要因素?结构化布线应遵循的国际标准有哪些?
给出域名解析的两种方案。当dns服务器发生故障,我们是否可以访问网络上的计算机?如果可以,需要什么条件?说明原因。
请阅读以下说明和Socket程序,将应填入(n)处的字句写在对应栏内。网络应用的基本模型是客户机/服务器模型,这是一个不对称的编程模型,通信的双方扮演不同的角色:客户机和服务器。一般发起通信请求的应用程序称为客户软件,该应用程序通过与服务器进程
阅读以下说明,回答问题1~6,将答案填入对应的解答栏内。某公司有一个局域网,在ISP申请了Internet接入,接入方式是以太网,ISP分配给了一个固定的IP地址为222.152.199.33、子网掩码为255.255.255.252、默认网关为2
随机试题
患儿,5岁。四肢散在的成片针头大红色小丘疹、水疱、红斑、结痂并轻度渗出2个月,且屈侧多见。病程中患儿主诉剧烈瘙痒,当地治疗后好转,用药不详,但反复发作。昨日突发高热,原皮损处出现豆大水疱周围红晕,部分转成脓疱,疱中央有脐凹,患儿哭吵不安,急诊求治。病程中患
DNA与RNA完全水解后产物的特点是
【背景资料】某大型工程,由于技术难度大,对施工单位的施工设备和同类工程施工经验要求比较高,而且对工期的要求比较紧迫。业主在对有关单位和在建工程考察的基础上,邀请了3家国有一级施工企业投标,通过正规的开标评标后,择优选择了其中一家作为中标单位,并与其签订了
影响人力资源预测的一般因素包括()
下列四句话中,“大概”一词的用法和其他三句不同的是()。
有这么一种现象:篓子中放一群螃蟹,不必盖上盖子,螃蟹是爬不出去的,因为只要有一只想往上爬。其他螃蟹便纷纷攀附在它的身上,结果是把它拉下来。最后没有一只出得去。对此现象,请结合实际谈谈你的感想。
以下为准实验设计的是()。
因特网中IP地址用四组十进制数表示,每组数字的取值范围是()。
Whatisthistalkabout?
Aftermonthsoftesting,theRussianspacescientist______aspacesuitthatworksbetterthananyinhistory.
最新回复
(
0
)