首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和c++代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法则。在策略(Strategy)模式下,可以更换实现算法的部分而不留痕迹,切换整个算法,简化改为采用其
阅读下列函数说明和c++代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法则。在策略(Strategy)模式下,可以更换实现算法的部分而不留痕迹,切换整个算法,简化改为采用其
admin
2014-10-11
83
问题
阅读下列函数说明和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,则对应的逻辑表达式为________。
在由L2TP构建的VPN中,主要由①和②两种类型的服务器构成。1.将图5-1中①和②处空缺名称填写在答题纸的相应位置。2.简要说明两种服务器的主要作用。某路由器(在图5-1中没有标出)的部分配置信息如下所示,请解释其中标有下划线部分的含
限制MailUser邮件主机里每个用户的邮箱大小不超过10MB,如何配置?限制MailUser邮件主机里每个用户邮箱里所能存放的最多邮件数量不超过20个,如何配置?
限制MailUser邮件主机里每个用户的邮箱大小不超过10MB,如何配置?限制MailUser邮件主机里所有用户接收的单个邮件的大小不超过5MB,如何配置?
阅读以下说明,回答问题1至问题7。[说明]在IMail管理器中,选中MailUser邮件主机,然后在它右边的面板中选中General选项卡,出现邮件主机的配置窗口如图3-1所示。如果在IMail管理器中,选中Userl用户,然后在
同一个VLAN中的成员可以形成一个广播域,从而实现何种功能?使Switch1的千兆端口允许所有VLAN通过的配置命令如下,请给出空白处的配置内容:Switchl(config)#interfacegigabit0/1(进入千兆端口配置模式)
阅读以下说明,回答问题1~6。[说明]某公司已有一个100用户的有线局域网。由于业务的发展,现有的网络不能满足需求,需要增加40个用户的网络连接,并在公司客户接待室连接网络以满足合作伙伴实时咨询的需求。现结合公司的实际情况组建无线局域网,具体拓扑
双绞线可以制作成直连线和交叉线两种形式。在上图中,两个交换机的UPLINK口相连,使用的双绞线制作成什么形式?连接交换机和计算机的双绞线制作成什么形式?阅读下面的配置信息,解释(7)处的命令。Switch#configtSwitch(
阅读下面的说明,回答问题1至问题5。[说明]利用VLAN技术可以把物理上连接的网络从逻辑上划分为多个虚拟子网,可以对各个子网实施不同的管理策略。下图表示两个交换机相连,把6台计算机配置成两个VLAN。
阅读以下关于Linux网关安装和配置过程的说明,回答问题1至问题5。【说明】当局域网中存在大量计算机时,根据业务的不同,可以将网络分成几个相对独立的子网。图12-2是某公司子网划分的示意图,整个网络被均分为销售部和技术部两个子网,子网之间通过一台
随机试题
教学最重要的目标是促进(),使学生将获得的知识、技能和行为方式有效地用于新问题的解决。
23岁男性肾病综合征患者,予泼尼松治疗8周,尿蛋白转阴,关于泼尼松治疗有效的可能机制下列哪种说法是错误的
正常成人体检时可于腹部触及的脏器包括
抑制性电位产生的离子机制是
A.肾母细胞瘤B.前列腺癌C.睾丸恶性肿瘤D.阴茎癌E.膀胱移行细胞癌以血性转移为主的是
某女性,32岁,近3年一直出现间断上腹痛,表现为两餐之间出现上腹痛,餐后多可缓解。该患者Hp阳性,根除Hp的一线治疗方案是()。
基金份额持有人大会的职权包括()。I.编制中期和年度基金报告Ⅱ.决定基金扩募或者延长基金合同期限Ⅲ.决定修改基金合同的重要内容Ⅳ.决定调整基金管理人、基金托管人的报酬标准
从所给的四个选项中,选择最合适的一个填入问号处,使之呈现一定的规律性:
B公司经营赌场和餐饮业务,赌场的市场价值为5亿元,餐饮业务的市场价值为5亿元,已知B公司的股票价格为10元,共有6000万股,未归还的债务价值为4亿元,公司的税率为40%。[上海财经大学2018研]若赌场和餐饮业务的权重始终保持不变,已知赌场业务的be
n维向量组α1,α2,…,αs(3≤s≤n)线性无关的充要条件是()
最新回复
(
0
)