首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和c++代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法则。在策略(Strategy)模式下,可以更换实现算法的部分而不留痕迹,切换整个算法,简化改为采用其
阅读下列函数说明和c++代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法则。在策略(Strategy)模式下,可以更换实现算法的部分而不留痕迹,切换整个算法,简化改为采用其
admin
2014-10-11
38
问题
阅读下列函数说明和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;经过地址变换后,其物理地址应为十六进制______。
以下关于CPU与I/O设备交换数据所用控制方式的叙述中,正确的是_______。
在应用服务器关机的情况下,公司员工能连接上因特网吗?简要解释。公司内部的电话、传真机与ISDN的连接情况如图9-3所示。将图中(1)和(2)处空缺的设备名称填写在答题纸相应位置。
目前,通过移动电话接人互联网采用的主要技术是什么?进行一次查询的数据信息如表9-1所示,网络的基本通信服务费用如表9-2所示,总费用=网络租用费+通信费。根据表中给出的数据,试计算销售员每月至少应进行多少次查询,才能使得使用移动电话的总费用比使用PDA
同一个VLAN中的成员可以形成一个广播域,从而实现何种功能?创建一个名字为v2的虚拟局域网的配置命令如下,请给出空白处的配置内容:Switch#(1)(进入VLAN配置模式)Switch(vlan)#(2)(创建v2并命名)Sw
双绞线可以制作成直连线和交叉线两种形式。在上图中,两个交换机的UPLINK口相连,使用的双绞线制作成什么形式?连接交换机和计算机的双绞线制作成什么形式?阅读下面的配置信息,解释(6)处的命令。Switeh#vlanSwitch(vla
该DHCP服务器可分配的IP地址有多少个?在Windows操作系统下,DHCP客户端“Internet协议(TCP/IP)属性”配置界面如下图所示。在此界面中,客户端应如何配置?
阅读下列说明,回答问题1至问题6。[说明]某公司的业务员甲与客户乙通过Internet交换商业电子邮件(以下简称为“邮件”)。为保障邮件内容的安全,双方约定采用安全电子邮件技术对邮件内容进行加密和数字签名。安全电子邮件技术的实现原理如图4
根据图3-1所给出的网络连接方式及相关的网络参数,区域(A)与区域(B)中计算机的网络参数配置(如图3-2所示)为:区域(A)计算机“IP地址”(范围):(1):区域(A)计算机“子网掩码”;(2);区域(A)计算机“默认网关”:(
根据图3-1所给出的网络连接方式及相关的网络参数,区域(A)与区域(B)中计算机的网络参数配置(如图3-2所示)为:区域(A)计算机“IP地址”(范围):(1):区域(A)计算机“子网掩码”;(2);区域(A)计算机“默认网关”:(
随机试题
基金管理人以及依法取得基金代销业务资格的其他机构,可以依法办理开放式基金份额的()。
下列关于灭火器的具体保养内容要求,说法错误的是()。
国有企业火炬化工厂与另外一国有企业火星化工原料厂决定共同作为发起人,改建股份有限公司。股份有限公司章程规定公司注册资本为人民币5千万元。火炬化工厂以厂房、机器设备和土地使用权出资,经评估作价400万元;火星化工原料厂以原料及厂房出资,经评估作价200万元;
建筑设计方案主要包括()。
建设工程施工专业分包和劳务分包的主要区别有()。
管式渗沟的泄水管壁应设泄水孔,交错布置,间距不宜大于( )。
下列是有关收入分配差距的材料:材料1长沙市企业调查队的一次抽样调查表明,这些年来,该市各行业之间的职工工资收入分配差距拉大,特别是一些垄断性行业的职工收入明显偏高,而且差距还有进一步扩大的趋势。在调查的16个行业中,航空业、烟草制造业、
设数列{an}单调增加且有上界,θ为常数,则级数()
某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)()。
A、Toinquireaboutswitchingmajors.B、Tofindahelpingsupervisor.C、Tomakeuptheremainingcredits.D、Toapplyforamaster
最新回复
(
0
)