未分类题
阅读以下说明和C++代码,将应填入(n)处的字句写在对应栏内。
【说明】
某网络游戏存在战士(Fighter)、野蛮人(Savage)、白法师(White Witch)三种角色,它们具有Role接口,角色的类图关系如图1.1所示。现要将黑法师(BlackWitch)角色加入此网络游戏以实现功能扩充。已知某第三方库已经提供了法师(Witch)类,且完全满足系统新增的黑法师角色所需的功能,但法师 (Witch)不是由Role派生而来,它提供的接口不能被系统直接使用。代码8-1既使用了法师(Witch),又遵循了Role规定的接口,既避免了从头开发一个新的黑法师类,又可以不修改游戏中已经定义的接口。代码8-2根据用户指定的参数生成特定的角色实例,并对之进行显示操作。
游戏中定义的接口与黑法师(BlackWitch)提供的显示接口及其功能见表1.1。
【代码8-1】
class BlackWitch: public (1) {
private:
(2) m_BlackWitch;
public:
void display( ) {
m_BlaekWitch. (3) ;
} };
【代码8-2】
class Factory {
public:
(4) getRolelnstance( int type){ //生成特定类实例
switch (type) {
case 0: return new Fighter;
case 1: return new Savage;
case 2: return new WhiteWitch;
case 3: return new BlackWitch;
default: return NULL;
}
}
};
void main(int arge,ehar * argv[ ] ) {
if(arge ! =2){
cout < < 'error parameters !' < < end1;
return;
}
int type = atoi(argv[ 1 ] );
Factory factory;
Role * s;
s = factory. (5);
if(s = = NULL) {
cout < < 'Error get the instance !' < < end1;
return;
}
s-- > display( );
delete s;
return;
}
A.1所示。现要将黑法师(BlackWitch)角色加入此网络游戏以实现功能扩充。已知某第三方库已经提供了法师(Witch)类,且完全满足系统新增的黑法师角色所需的功能,但法师
B.1。
C.shangxueba.cn/images/ct_crppsj_crppscc_00165(20096).jpg'
【参考答案】
(1)Role
(1)Role 解析:题目中要求BlackWitch具有Role接口,所以应该继承Role。
点击查看答案
<上一题
目录
下一题>
热门
试题
未分类题
在名为Form1的窗体上绘制一个文本框(名称为Text1)和一个水平滚动条(名称为 HSl)。在属性窗口中对滚动条设置如下属性:Min 500Max 2000LargeChange 50SmallChange 20编写适当的事件过程,使程序运行后,若移动滚动条上的滚动框,则可扩大或缩小文本框的高度,并使得文本框的宽度始终是其高度的1.2倍。运行后的窗体如下图所示。注意:要求程序中不得使用任何变量;文件必须存放在考生文件夹中,工程文件名为execise58.vbp,窗体文件名为execise58.frm。
点击查看答案
问答题
如何运用好网络资源以及怎样防范各种网络危害?
点击查看答案
相关试题
通过Oracle SQL Developer可完成的DBA操...
下列针对linux维护操作过程中,配置文件说...
下列关于oracle数据库角色以及权限控制说法...
下列不属于DataGuard 优点的是()。
Jenkins基于DOCKER的安装要求必须安装如下...