首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和C++代码,回答问题 [说明] 对多个元素的聚合进行遍历访问时,需要依次推移元素,例如对数组通过递增下标的方式,数组下标功能抽象化、一般化的结果就称为迭代器(Iterator)。模式以下程序模拟将书籍(Book)放到书架(BookS
阅读下列函数说明和C++代码,回答问题 [说明] 对多个元素的聚合进行遍历访问时,需要依次推移元素,例如对数组通过递增下标的方式,数组下标功能抽象化、一般化的结果就称为迭代器(Iterator)。模式以下程序模拟将书籍(Book)放到书架(BookS
admin
2012-02-20
59
问题
阅读下列函数说明和C++代码,回答问题
[说明]
对多个元素的聚合进行遍历访问时,需要依次推移元素,例如对数组通过递增下标的方式,数组下标功能抽象化、一般化的结果就称为迭代器(Iterator)。模式以下程序模拟将书籍(Book)放到书架(BookShelf)上并依次输出书名。这样就要涉及到遍历整个书架的过程。使用迭代器Iterator实现。图5-1显示了各个类间的关系。以下是C++语言实现,能够正确编译通过。
[图5-1]
[C++代码]
template (1) >
class Iterator{
public:
virtual bool hasNext() = 0;
(2) Object* next() = 0;
};
class Book{
//省略具体方法和属性
};
class BookShelf{
private:
vector books;
public:
BookShelf(){
}
Book* getBookAt(int index){
return &booksindex;
}
int getLength(){
return books. size();
}
};
template
class BookshelfIterator : public (3) {
private:
BookShelf * bookShelf;
int index;
public:
BookshelfIterator(BookShelf *bookShelf){
this->bookShelf = bookShelf;
index = 0;
}
bool hasNext(){//判断是否还有下一个元素
if(index < bookShelf->getLength()){
return true;
}else{
return false;
}
}
Objeot* next(){//取得下一个元素
return bookShelf->getBookAt(index++);
}
};
int main()
{
BookShelf bookShelf;
//将书籍上架,省略代码
Book *book;
Iterator *it = new BookShelfIterator( (4) );
while( (5) ){//遍历书架,输出书名
book=(Book*)it->next();
/*访问元素*/
}
return 0;
}
选项
答案
(1)Object virtual Iterator<Object> &bookShelf it->hasNext()
解析
转载请注明原文地址:https://kaotiyun.com/show/HlDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
下面关于软件测试的说法,(48)是错误的。
一个程序的控制流图中有8个节点、12条边。在测试用例数最少的情况下,确保程序中每个可执行语句至少执行一次所需测试用例数的上限是________________。
GB17859-1999《计算机信息系统安全保护等级划分准则》中将计算机安全保护划分为(53)个级别。
在开发一个字处理软件时,首先快速发布了一个提供基本文件管理、编辑和文档生成功能的版本,接着发布提供更完善的编辑和文档生成功能的版本,最后发布提供拼写和语法检查功能的版本,这里采用了()过程模型。
程序运行过程中常使用参数在函数(过程)间传递信息,引用调用传递的是实参的()。
对于以下编号为①、②、③的正规式,正确的说法是(35)。①(aa*|ab)*b②(a|b)*b③((a|b)*|aa)*b
软件系统的安全性是信息安全的一个重要组成部分,针对程序和数据的安全性测试与评估是软件安全性测试的重要内容,()不属于安全性测试与评估的基本内容。
(1)不属于计算机控制器中的部件。
将二进制序列1011011表示为十六进制,为______。
通常一个HFC网络由前端(FE)、主数字终端(HDT)、光纤节点(FN)、网络接口单元(NIU)、综合业务单元(ISU)及传输线路等构成。根据HFC网接入Internet网的典型配置,将图6-12所示的拓扑图中(A)~(D)空缺处的名称填写完整(请使用题干
随机试题
下列酶中,与丙酮酸生成糖无关的是
液压加速器必须经地面()测试后,方可下井。
神经纤维电压门控Na+通道与K+通道的共同点中,错误的是
关于肺泡表面活性物质的叙述正确的是
大面积烧伤一般不出现
图示为电报信号、温度信号、触发脉冲信号和高频脉冲信号的波形,其中是连续信号的是:
下列语句中,加下划线的词语书写有误的一项是()。
媒体融合的应有之义,绝不仅是现有媒体形式及信息生产流程的________,更应是对用户需求的融合、用户思维的融人。无论是信息呈现方式的创新,还是信息内容的________,首要的关注点应是用户需求。所有的变革,都不能________用户这一中心。填入画横
小学应有多少在校生?( )下面哪一种学校多?( )
AllthefollowingsentenceshaveapassivemeaningEXCEPT
最新回复
(
0
)