首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和c++代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法则。在策略(Strategy)模式下,可以更换实现算法的部分而不留痕迹,切换整个算法,简化改为采用其
阅读下列函数说明和c++代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法则。在策略(Strategy)模式下,可以更换实现算法的部分而不留痕迹,切换整个算法,简化改为采用其
admin
2014-10-11
118
问题
阅读下列函数说明和c++代码,将应填入(n)处的字句写在答题纸对应栏内。
【说明】
任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法则。在策略(Strategy)模式下,可以更换实现算法的部分而不留痕迹,切换整个算法,简化改为采用其他方法来解决同样问题。以下是一个“剪刀石头布”游戏。猜拳时的“策略”有2种方法:第一种是“猜赢后继续出同样的招式”(WinningStrategy),第二种是“从上一次出的招式中,以概率分配方式求出下一个招式的几率”(ProbStrategy)。程序中定义了Hand类表示猜拳时的“手势”,类内部以O(石头)、1(剪刀)、2(布)来表示。Hand类的实例只会产生3个。以下是C++语言实现,能够正确编译通过。
【C++代码】
ClasS Hand{
private:
int handvalue;
StatiC Hand*hand0;
StatiC Hand*handl;
Static Hand*hand2:
(1):
Hand(int handvalue){
thiS一>handvalue=handvalue;
}
publiC:
(2)Hand*getHand(int handvalue)(
/*省略具体实现*/
}
};
Hand*Hand::hand0=new Hand(0);
Hand*Hand::handl=new Hand(1);
Hand*Hand::hand2=new Hand(2);
ClasS Strategy{
public:
(3)Hand*nextHand()=0;
};
class WinningStrategy :public strategy{
private:
boo1 won;
Hand*prevHand;
public:
WinningStrategy(){
won=false;
}
Hand*nextHand(){
if(!won){
prevHand=Hand::getHand(rand()%3);
}
return prevHand;
}
};
class probStrategy:public strategy{
public:
Hand*nextHand(){
int handvalue=0;
/*省略具体实现*/
return Hand::getHand(handvalue);
}
};
Class Player(
private:
string name;
Strategy*Strategy;
public:
Player(string name,(4)strategy){
thiS一>name=name;
thiS一>strategy=strategy;
}
Hand*nextHand()(//向战略请示手势
return (5);
}
};
选项
答案
(1)private(2)static(3)virtual (4)Strategy*(5)strategy一>nextHand()
解析
Hand类要保证只产生3个实例,就要求不能随便生成Hand类,因此其构造方法需要是private型的,故空(1)应填pnvate。先看空(3),由后面的“=0”易判知nexthand()函数是纯虚函数,故空(3)应填virtual。再来看空(2),由对getHand()方法的调用方式}land::gettland(1rand()%3)及}land::getHand(handvalue),可知该方法是类Hand的静态方法,故空(2)应填static。
由语句this一>strategy=strategy;可知:this一>strategy与strategy同数据类型,this表示自身指针,而this一>strategy是Strategy*类型,故空(4)应填Strategy*,注意是指针。方法nextHand0是“向战略请示手势”,取得手势足通过其所采用的“策略”实现的,故空(5)应填strategy一>nextHand0。注意指针写法。
转载请注明原文地址:https://kaotiyun.com/show/64DZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
设X、Y、Z为逻辑变量,当且仅当X和Y同时为1时,Z为0,其他情况下Z为1,则对应的逻辑表达式为________。
通常VLAN有静态和动态2种实现方式,这2种方式分别是如何实现的?各有什么特点?Switch1采用的是哪种实现方式?在VLAN中,STP和VTP是什么协议?各有什么作用?
目前,通过移动电话接人互联网采用的主要技术是什么?公司网络中的设备或系统(包括存储商业机密的数据库服务器、邮件服务器、存储资源代码的PC机、应用网关、存储私人信息的PC机、电子商务系统)哪些应放在DMZ中,哪些应放在内网中?给予简要说明。
双绞线可以制作成直连线和交叉线两种形式。在上图中,两个交换机的UPLINK口相连,使用的双绞线制作成什么形式?连接交换机和计算机的双绞线制作成什么形式?阅读下面的配置信息,解释(7)处的命令。Switch#configtSwitch(
双绞线可以制作成直连线和交叉线两种形式。在上图中,两个交换机的UPLINK口相连,使用的双绞线制作成什么形式?连接交换机和计算机的双绞线制作成什么形式?阅读下面的配置信息,将(1)~(4)处空缺的内容填写在相应位置。SW1>enable
认真阅读下列说明信息,回答问题1至问题5。[说明]在一个基于TCP/IP协议的网络中,每台主机都有一个IP地址,根据获得IP地址的方式不同,可以分为静态IP和动态IP。例如:用宽带入网,会有一个固定的IP地址,每次连入Internet,你的IP地
根据图3-1所给出的网络连接方式及相关的网络参数,区域(A)与区域(B)中计算机的网络参数配置(如图3-2所示)为:区域(A)计算机“IP地址”(范围):(1):区域(A)计算机“子网掩码”;(2);区域(A)计算机“默认网关”:(
根据图3-1所给出的网络连接方式及相关的网络参数,区域(A)与区域(B)中计算机的网络参数配置(如图3-2所示)为:区域(A)计算机“IP地址”(范围):(1):区域(A)计算机“子网掩码”;(2);区域(A)计算机“默认网关”:(
某交换机的配置命令如下,根据命令后面的注释,填写(1)~(3)处的空缺内容,完成配置命令。Switch(config)#(1)//将交换机命名为Sw1Swl(config)#interfacevlan1Swl(config
具有综合业务传输能力的HFC网络由视频前端(FE)、主数字终端(HDT)、光纤节点(FN)、网络接口单元(NIU)、综合业务单元(ISU)及传输线路等构成。根据HFC网接入Internet的典型配置,将图8-11所示的拓扑图中(1)~(5)空缺处名称填写
随机试题
某幼儿园最近有水痘流行,为了预防水痘,下列预防措施除哪项外均应采取
甲对拆迁不满,在高速公路中间车道用树枝点燃一个焰高约20厘米的火堆,将其分成两堆后离开。火堆很快就被通行车辆轧灭。关于本案,下列哪一选项是正确的?(2016年卷二12题,单选)
某简支梁弯矩图如下所示,其受力情况正确的是()。
2011年1月11日,中国研制的第四代隐形战斗机歼-20在成都首次公开试飞,这是中国空军史上透明度最高的一次新型战斗机首飞。隐形战斗机是指雷达一般探测不到的战斗机,其原理是()。
文字
小王参加了某公司招工面试,不久,他得知以下消息:(1)公司已决定,他与小陈至少录用一人;(2)公司可能不录用他;(3)公司一定录用他;(4)公司已录用小陈。其中两条消息为真,两条消息为假。如果上述断定为真,则以下哪项为真?
数据库设计过程中有如下工作:Ⅰ.文件组织与存取设计Ⅱ.数据分布设计Ⅲ.确定数据库和操作系统参数Ⅳ.将关系模式和相关视图转换为特定数据库管理系统的可支持的表和视图Ⅴ.从时间、空间、维护代价等方面评估物理设计结果,并将评估后的结果
______takesphonicmediumoflanguageasitsmainobjectofstudy.
A、Infrontofthelibrary.B、Inacoffeebar.C、Attheschoolgate.D、Atthebank.C信息明示题。在对话最后,女士跟男士约定,明天在学校门口见面,男士表示同意。由此可知,本题
OnEducationTechniques1.最近,以“虎妈”“狼爸”为代表的“棍棒”式教育方式受到人们的热议2.我对这种现象的看法和建议
最新回复
(
0
)