首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C++代码,将应填入(1)~(5)处的字句写在答题纸的对应栏内。 【说明】 某航空公司的会员积分系统将其会员划分为普卡(Basic)、银卡(Silver)和金卡(Gold)三个等级。非会员(NonMember)可以申请成为普卡
阅读下列说明和C++代码,将应填入(1)~(5)处的字句写在答题纸的对应栏内。 【说明】 某航空公司的会员积分系统将其会员划分为普卡(Basic)、银卡(Silver)和金卡(Gold)三个等级。非会员(NonMember)可以申请成为普卡
admin
2019-10-08
35
问题
阅读下列说明和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://www.kaotiyun.com/show/3sxZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
阅读以下说明,回答问题1和问题2。【说明】在一幢11层的大楼内组建一个局域网,该局域网的连接示意图如图5-4所示。
阅读以下说明,回答【问题1】和【问题2】。【说明】VPN是通过公用网络Internet将分布在不同地点的终端连接在一起的专用网络。目前大多采用IPSec来实现IP网络上端点间的认证和加密服务(见图3)。VPN的基本配置如下:
通常,在该图书馆架构无线局域网(WLAN)的设计流程需要经过以下6个阶段:A.设备软硬件安装、调试B.确定无线局域网物理结构C.确定无线局域网逻辑结构D.进行需求分析和现场调研E.验收测试和维护F.进行设备产
阅读以下说明,回答问题1、问题2、问题3、问题4和问题5,将解答填入对应栏内。[说明]CableModem可以作为一个网桥直接与用户相连,也可以作为一个路由器与Hub相连,从经济角度考虑,目前采用后一种方式居多。有一种HFC网络如图6-2
设计该宽带路由器的多任务嵌入式实时操作系统时,由于多个任务均可能要求占用CPU这个关键资源,因此CPU的任务管理是一个非常重要的设计内容。在该实时操作系统中,任务作为占用资源的基本单位,总共有5个状态:休眠状态、就绪状态、运行状态、等待或挂起状态和中断服务
ISP是什么?请举例。在路由器和ISDN之间需要加入终端适配器(TA)吗?试说明在什么情况下需要加入TA。
给出域名解析的两种方案。当dns服务器发生故障,我们是否可以访问网络上的计算机?如果可以,需要什么条件?说明原因。
阅读以下说明,回答问题1~4,将答案填入对应的解答栏内。某公司申请了一个C类地址210.45.12.0,公司的域名为xyz.com.cn,域名服务器地址为210.45.12.50。公司有生产部门、市场部门、财务部分、人事部门、技术部门和经理办公室,
阅读以下说明,回答问题1~6,将答案填入对应的解答栏内。某公司有一个局域网,在ISP申请了Internet接入,接入方式是以太网,ISP分配给了一个固定的IP地址为222.152.199.33、子网掩码为255.255.255.252、默认网关为2
随机试题
混凝土坝的施工质量控制要点有().
某夜,甲、乙两人携带作案工具,准备盗窃某武警部队的枪支、弹药。两人来到武警部队驻地的围墙外,发现里面灯火通明,戒备森严,感到无从下手,于是返回。甲、乙两人的行为属于()。
简述数据分析的方法。
可转为慢性肝炎的病毒性肝炎是
.洗胃时每次灌入的液体不可过多,其原因不包括
按照《公路水运工程安全生产监督管理办法》要求,作业人员应当遵守安全施工的规章制度和操作规程,正确使用()。
某单位组织职工游览上海世博园。所有参观沙特馆的职工都未能参观德国馆。凡参观沙特馆的职工也都未能参观日本馆。有些参观丹麦馆的职工参观了德国馆,有些参观丹麦馆的职工参观了日本馆,有些参观丹麦馆的职工参观了沙特馆。如果以上陈述为真,下面哪项关于该单位职工的陈述必
(1)在考生文件夹下有一个工程文件sjt3.vbp,在Form1的窗体中有一个文本框、一个计时器和两个命令按钮。程序的功能是在运行时,单击“开始计数”按钮,就开始计数(如图所示),每隔1秒,文本框中的数加1;单击“停止计数”按钮,则停止计数。要求:修改适当
多态性指的是()。
显示器的主要技术指标之一是______。A)分辨率B)亮度C)重量D)耗电量
最新回复
(
0
)