首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和c++代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法则。在策略(Strategy)模式下,可以更换实现算法的部分而不留痕迹,切换整个算法,简化改为采用其
阅读下列函数说明和c++代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法则。在策略(Strategy)模式下,可以更换实现算法的部分而不留痕迹,切换整个算法,简化改为采用其
admin
2014-10-11
67
问题
阅读下列函数说明和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
软件设计师下午应用技术考试
软考中级
相关试题推荐
某计算机系统页面大小为4K,进程P的页面变换表如下表所示。若P中某数据的逻辑地址为十六进制2C18H,则该地址的页号和页内地址分别为2和C18H;经过地址变换后,其物理地址应为十六进制______。
[配置路由器信息]Currentconfiguration:!version11.3noservicepassword-encryption!hostnamerouter1
限制MailUser邮件主机里每个用户的邮箱大小不超过10MB,如何配置?IMail安装完成后,系统自动建立了一个名为root的用户,在默认情况下root用户是个失效的账号,如何设置使其生效?
阅读以下说明,回答问题1至问题7。[说明]在IMail管理器中,选中MailUser邮件主机,然后在它右边的面板中选中General选项卡,出现邮件主机的配置窗口如图3-1所示。如果在IMail管理器中,选中Userl用户,然后在
双绞线可以制作成直连线和交叉线两种形式。在上图中,两个交换机的UPLINK口相连,使用的双绞线制作成什么形式?连接交换机和计算机的双绞线制作成什么形式?阅读下面的配置信息,解释(7)处的命令。Switch#configtSwitch(
阅读以下说明,回答问题1至问题5。[说明]某企业采用Windows2000操作系统部署企业虚拟专用网(VPN),将企业的两个异地网络通过公共Internet安全地互联起来。微软Windows2000操作系统当中对IPSec具备完善的支持,下图
根据图3-1所给出的网络连接方式及相关的网络参数,区域(A)与区域(B)中计算机的网络参数配置(如图3-2所示)为:区域(A)计算机“IP地址”(范围):(1):区域(A)计算机“子网掩码”;(2);区域(A)计算机“默认网关”:(
某交换机的配置命令如下,根据命令后面的注释,填写(1)~(3)处的空缺内容,完成配置命令。Switch(config)#(1)//将交换机命名为Sw1Swl(config)#interfacevlan1Swl(config
IIS安装的硬盘分区最好选用NTFS格式,是因为(1)和(2)。A.可以针对某个文件或文件夹给不同的用户分配不同的权限B.可以防止网页中的Applet程序访问硬盘中的文件C.可以使用系统自带的文件加密系统对文件或文件夹进行加密
对一个大型校园网工程进行网络备份系统设计时,应考虑解决哪些主要的问题?请用150字以内的文字简要说明。备份就是对数据文件的备份,备份网络文件就是将所需要的文刊:复制到光盘、磁带或磁盘等存储介质上。这种备份网络文件的思路是否正确?请用200字以内的文字简
随机试题
行政机关在其法定职权范围内,依照()的规定,可以委托其他行政机关实施行政许可。委托机关应当将受委托行政机关和受委托实施行政许可的内容予以公告。
确诊支原体肺炎的依据是()
A、口服无环鸟苷B、口服利福平,异烟肼和乙胺丁醇C、普鲁卡因青霉素肌肉注射D、2%~4%小苏打水含漱和伊曲康唑口服E、抗组胺药物治疗固定药疹的治疗()
初产妇,27岁,孕34周,血压160/95mmHg,脉搏110次/分,尿蛋白(+),轻度水肿,无头痛等不适,既往体健。月经正常,查体可见痛苦面容,脸色苍白。该患者应考虑为()
关于刑法解释的说法,下列哪一选项是正确的?
下列不适用于《建筑设计防火规范》(GB50016—2006)的是()
在电压为63kV及110kV的配电装置中,关于接地刀闸的装设,下列哪几项表述是正确的?()
下列不属于项目定义和项目目标论证范围的是(),
甲、乙、丙各出资5万元合伙开办一家餐馆,经营期间,丙提出退伙,甲、乙同意,三方约定丙放弃一切合伙权利,也不承担合伙债务,下列选项哪一个是正确的?()
Twoofthemostvitalfunctionsperformedinanyeconomyare_________________6
最新回复
(
0
)