首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和C++代码,回答问题 [说明] 对多个元素的聚合进行遍历访问时,需要依次推移元素,例如对数组通过递增下标的方式,数组下标功能抽象化、一般化的结果就称为迭代器(Iterator)。模式以下程序模拟将书籍(Book)放到书架(BookS
阅读下列函数说明和C++代码,回答问题 [说明] 对多个元素的聚合进行遍历访问时,需要依次推移元素,例如对数组通过递增下标的方式,数组下标功能抽象化、一般化的结果就称为迭代器(Iterator)。模式以下程序模拟将书籍(Book)放到书架(BookS
admin
2012-02-20
67
问题
阅读下列函数说明和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
软件设计师下午应用技术考试
软考中级
相关试题推荐
假设关系R1和R2如下图所示:若进行R1R2运算,则结果集分别为(1)元关系,共有(2)个元组。(1)
下面关于软件测试的说法,(48)是错误的。
MVC模式(模型.视图一控制器)是软件工程中的一种软件架构模式,把软件系统分为模型、视图和控制器三个部分。________________不属于MVC模式的优点。
系统功能测试过程中,验证需求可以正确实现的测试用例称为(32)。
测试用例是测试使用的文档化的细则,其规定如何对软件某项功能或功能组合进行测试。测试用例应包括下列(32)内容的详细信息。①测试目标和被测功能。②测试环境和其他条件。③测试数据和测试步骤。④测试记录和测试结果。
计算机采用分级存储体系的主要目的是为了解决()的问题。
设数组a[0..n—1,0..m一1](n>1,m>1)中的元素以行为主序存放,每个元素占用4个存储单元,则数组元素a[i,j](0≤i
结构化分析(StructuredAnalysis,SA)是面向数据流的需求分析方法,______不属于SA工具。A.分层的数据流图B.数据词典C.问题分析图D.描述加工逻辑的结构化语言、判定表或判定树
通常一个HFC网络由前端(FE)、主数字终端(HDT)、光纤节点(FN)、网络接口单元(NIU)、综合业务单元(ISU)及传输线路等构成。根据HFC网接入Internet网的典型配置,将图6-12所示的拓扑图中(A)~(D)空缺处的名称填写完整(请使用题干
随机试题
Mostpeopleagreethatthedirect,assertive(坚定自信的)Americanpersonalityisavirtue,butitsometimessurprisesforeigners.In
在ADO中,一个动态属性对象包括几个内置属性
递延年金的特点是()
某公司拟购入一台A设备以满足生产经营需要,该设备购置成本为60000元,寿命期为4年,每年维护保养费用为12000元,假设折现率为10%。要求:计算A设备寿命期内总成本的现值。
甲为勒索财物将乙绑架,并打电话给乙之妻丙,声称乙“已被其绑架,要想赎人必须送5百万元过来”。但在拘禁过程中,因乙对其态度恶劣,并屡次对其辱骂,一怒之下将其殴打致死。之后甲又屡次打电话给丙,催其赎人。后丙报警,公安将甲抓获归案。问:甲的行为构成什么罪?(
判断土地是否为最有效使用时,()的判定至关重要。
关于混凝土拌合物和易性的说法,正确的有()。
我国公民陆某是境内M公司工程师,2012年3月,M公司派陆某到境内N公司协助完成一项重要工程。在N公司工作期间,M公司继续向陆某支付工资及职务奖金。2012年陆某的收入如下:(1)在M公司每月取得基本工资5000元。(2)从M公司每月取得职务工资400
根据以下资料,回答问题。截至2013年底,我国规模以上高技术制造业共有企业26894家,比2008年增加1077家;占规模以上制造业企业数韵比重为7.8%,比2008年提高1.3个百分点。企业就业规模扩大。2013年我国高技术制造业从业人员1293.7万
下面对C++运算符的正确的描述是()。
最新回复
(
0
)