首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和C++代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 对多个元素的聚合进行遍历访问时,需要依次推移元素,例如对数组通过递增下标的方式,数组下标功能抽象化、一般化的结果就称为迭代器(Iterator)。模式以下程序模拟将书籍(B
阅读下列函数说明和C++代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 对多个元素的聚合进行遍历访问时,需要依次推移元素,例如对数组通过递增下标的方式,数组下标功能抽象化、一般化的结果就称为迭代器(Iterator)。模式以下程序模拟将书籍(B
admin
2014-10-11
61
问题
阅读下列函数说明和C++代码,将应填入(n)处的字句写在答题纸对应栏内。
【说明】
对多个元素的聚合进行遍历访问时,需要依次推移元素,例如对数组通过递增下标的方式,数组下标功能抽象化、一般化的结果就称为迭代器(Iterator)。模式以下程序模拟将书籍(B00k)放到书架(B00kShelf)上并依次输出书名。这样就要涉及到遍历整个书架的过程。使用迭代器Iterator实现。图5.1显示了各个类间的关系。以下是C++语言实现,能够正确编译通过。
【图5一1】
【C++代码】
template
class Iterator{
public:
virtual bool hasNext() =0;
(2) obj ect*next() =0;
};
class B00k{
//省略具体方法和属性
};
class BookShelf(
private:
vector
books:
public:
BookShelf()(
}
B00k* getBookAt(int index){
return&b00ks[index];
}
int getLength(){
return books.size();
}
template
class BookShelfIterator : public (3) {
BookShel f *bookShel f:
BookShelfIterator(BookShelf *bookShelf)(
this一>bookShelf=b00kShelf:
bool hasNext(){//判断是否还有下一个元素
if(index
getLength()){
object*next(){//取得下一个元素
return bookShel f一>getBookAt(index++);
B00kShelf bookShel f:
//将书籍上架,省略代码
rterator
*it=new Book ShelfIterator
( (4) );
while(5){//遍历书架,输出书名
b00k= (Book*)it一>next();
/*访问元素*/
选项
答案
(1)Object (2)virtual (3)Iterator
(4)&bookShelf (5)it一>hasNext()
解析
Iterator是模板类,空(1)应该填某个类名,其方法next()的返回类型是Object,而Object没有定义,故空(1)应填Object。从next()方法末尾的“=0”可知,该方法为纯虚函数,故空(2)应填virtual。BookShelflterator类继承自Iterator类,要注意的是模板类基类的写法,空(3)应填Iterator
。根据构造函数BookShelfIterator(BookShelf*bookShelf)可得,空(4)应填&bookShelf,注意地址符,因形参是BookShelf指针。while循环是遍历书架,输出书名,循环条件是“还有下一记录(书)”,故空(5)应填it一>hasNext0。注意指针写法。
转载请注明原文地址:https://kaotiyun.com/show/diDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
在进行可用性测试时关注的问题应包括()。①安装过程是否困难②错误提示是否明确③GUI接口是否标准④登录是否方便⑤帮助文本是否上下文敏感
在软件评审中,设计质量是指设计的规格说明书符合用户的要求。设计质量的评审内容不包括______。
由于操作系统升级而对软件进行修改的行为属于________维护。
关系数据库是表的集合。对视图进行查询,本质上就是查询从_______中获得的数据。
某个不确定有限自动机(s0为初态,s3为终态)如下图所示,_______是该自动机可识别的字符串(即从初态到终态的路径中,所有边上标记的字符构成的序列)。
甲怀疑乙发给他的信息已遭人篡改,同时怀疑乙的公钥也是被人冒充的。为了消除甲的疑虑,甲、乙需要找一个双方都信任的第三方,即______来签发数字证书。
若计算机字长为32,则采用补码表示的整数范围为______。
阅读以下说明,回答问题1和问题2。说明二层隧道协议L2TP(Layer2TunnelingProtocol)是一种基于点对点协议PPP的二层隧道协议。某网络结构如图5-1所示,采用L2TP来实现网络安全。
阅读以下说明,回答问题1~5。[说明]SSL(SecureSocketLayer)是目前解决传输层安全问题的一个主要协议,其设计的初衷是基于TCP协议之上提供可靠的端到端安全服务,SSL的实施对于上层的应用程序是透明的。应用SSL协议最广泛
随机试题
测量斜齿条齿厚时,水平游标尺身应与齿向垂直。()
位于线粒体内膜上的酶包括
A.穿透作用B.荧光作用C.电离作用D.感光作用E.着色作用放射治疗是利用
A.输尿管B.胃C.横结肠D.阑尾E.肝属于腹膜外位器官的是()
关闭一台运行WindowsXP的计算机之前,应先()。
WTO/TBT协议给予各成员的权利和义务是()。
让服务对象的不适应行为与某种厌恶性反应建立联系,迫使服务对象体会到不愉快的经验并逐渐放弃不适应的行为。这种行为治疗技术被称为()。
色诺芬
创新型社会
有函数模板声明和一些变量定义如下:templateT1sum(T2,T3);doubled1,d2;则下列调用中,错误的是
最新回复
(
0
)