首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C++代码,将应填入(1)~(5)处的字句写在答题纸的对应栏内。 【说明】 某航空公司的会员积分系统将其会员划分为普卡(Basic)、银卡(Silver)和金卡(Gold)三个等级。非会员(NonMember)可以申请成为普卡
阅读下列说明和C++代码,将应填入(1)~(5)处的字句写在答题纸的对应栏内。 【说明】 某航空公司的会员积分系统将其会员划分为普卡(Basic)、银卡(Silver)和金卡(Gold)三个等级。非会员(NonMember)可以申请成为普卡
admin
2019-10-08
36
问题
阅读下列说明和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
软件设计师下午应用技术考试
软考中级
相关试题推荐
简述网络规划阶段需求分析的方法和解决的问题。(控制在100个字以内)在网络规划阶段“系统可行性分析和论证”的主要内容是什么?(控制在100个字以内)
阅读以下基于WindowsServer2003操作系统部署NAT服务器的技术说明,根据要求回答问题1至问题5。【说明】某企业内部局域网通过ISP提供的ADSL宽带线路与Internet相连,ISP分配的公网IP地址为202.217.6.32/
通常,在该图书馆架构无线局域网(WLAN)的设计流程需要经过以下6个阶段:A.设备软硬件安装、调试B.确定无线局域网物理结构C.确定无线局域网逻辑结构D.进行需求分析和现场调研E.验收测试和维护F.进行设备产
请阅读以下说明和Socfon程序,将应填(n)处的字句写在对应栏内。【说明】网络应用的基本模型是客户机/服务器模型,这是一个不对称的编程模型,通信的双方扮演不同的角色:客户机和服务器。以下是一个简单的客户机程序(服务器程序略),其工
阅读以下说明,回答问题1、问题2、问题3和问题4,将解答填入对应栏内。[说明]某公司想建立一个Intranet,建立FTP服务器、DNS服务器、Email服务器、Web服务器和内部业务服务器,同时其他部门的工作人员也要联网,要求这些机器有的
设计该宽带路由器的多任务嵌入式实时操作系统时,由于多个任务均可能要求占用CPU这个关键资源,因此CPU的任务管理是一个非常重要的设计内容。在该实时操作系统中,任务作为占用资源的基本单位,总共有5个状态:休眠状态、就绪状态、运行状态、等待或挂起状态和中断服务
阅读以下关于HFC宽带接入Internet网的技术说明,根据要求回答问题1至问题4。【说明】混合光纤同轴电缆网(HFC网)应用数字和模拟传输技术,综合接入Internet、电话、模拟和数字广播电视、数字交互业务等多种业务,将计算机网络、有线电视网
随着Internet的发展,用户对网络带宽的要求不断提高,传统的接入网已成为整个网络中的瓶颈,以新的宽带接入技术取而代之已成为目前研究的焦点。其中最引人注意的是光纤接入技术。
阅读以下说明和Java程序代码,将应填入(n)处的字句写在对应栏内。SMTP是发送E-mail的协议,常用以下5条命令发送E-mail:HELO,与SMTP服务器握手,传送本机域名;MAILFROM:,传送发信者的信箱名称;RCP
随机试题
下列超声心动图结果描述中,不支持扩张性心肌病诊断的是
对病人的心理社会情况进行评估时,最主要方法是
不属于脑颅骨的是
会计软件系统中,最主要的功能模块是()。
Her hobbies, Jane likes fishing( ), but she doesn’t eating fish.
境内单位提供的下列跨境应税业务中,免征增值税的有()。
甲和乙签订了一份棉花买卖合同,约定甲卖给乙棉花5NE。但后来乙下落不明,甲难以履行债务,遂将棉花提存。棉花提存后,一日遭遇雷击烧毁,该损失应由()。
Toahighlyimaginativewriter,______isapadofpaperandapen.
如果用户应用程序使用UDP协议进行数据传输,那么下列必须承担可靠性方面的全部工作的是()。
Womenwithlowliteracysufferdisproportionatelymorethanmen,encounteringmore【C6】________infindingawell-payingjobandb
最新回复
(
0
)