首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和C++代码,回答问题 [说明] 对多个元素的聚合进行遍历访问时,需要依次推移元素,例如对数组通过递增下标的方式,数组下标功能抽象化、一般化的结果就称为迭代器(Iterator)。模式以下程序模拟将书籍(Book)放到书架(BookS
阅读下列函数说明和C++代码,回答问题 [说明] 对多个元素的聚合进行遍历访问时,需要依次推移元素,例如对数组通过递增下标的方式,数组下标功能抽象化、一般化的结果就称为迭代器(Iterator)。模式以下程序模拟将书籍(Book)放到书架(BookS
admin
2012-02-20
50
问题
阅读下列函数说明和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
软件设计师下午应用技术考试
软考中级
相关试题推荐
(3)是指按内容访问的存储器。
系统功能测试过程中,验证需求可以正确实现的测试用例称为(32)。
测试成本控制的目标是使测试开发成本、测试实施成本和测试维护成本最小化,以下理解正确的是______。A.测试准备成本属于测试实施成本B.可以通过加强软件测试的配置管理来降低测试维护成本C.测试设计成本控制的目标是尽可能地减少测试总执行时间和所需的测试
(1)不属于计算机控制器中的部件。
驻留在多个网络设备上的程序在短时间内同时产生大量的请求消息冲击某Web服务器,导致该服务器不堪重负,无法正常响应其他合法用户的请求,这属于(9)。
函数t()、f()的定义如下所示。若调用函数t()时传递给x的值为3,并且调用函数f()时,第一个参数采用传值(call by value)方式,第二个参数采用传引用(call by reference)方式,则函数t0的返回值为(33).
软件可靠性是指在指定的条件下使用时,软件产品维持规定的性能级别的能力,其子特性(51)是指在软件发生故障或者违反指定接口的情况下,软件产品维持规定的性能级别的能力。
某汽车维修公司有部门、员工和顾客等实体,各实体对应的关系模式如下:部门(部门代码,部门名称,电话)员工(员工代码,姓名,部门代码)顾客(顾客号,姓名,年龄,性别)维修(顾客号,故障情况,维修日期,员工代码)假设每个部门允许有多部电话,则电话属性为
下列协议中与Email应用无关的是()。
在计算机系统中常用的输入/输出控制方式有无条件传送、中断、程序查询和DMA等。其中,采用______方式时,不需要CPU控制数据的传输过程。
随机试题
布莱克-斯科尔斯模型的参数-无风险利率,可以选用与期权到期日相同的国库券利率。这个利率是指()。
求∫xln(1+2x)dx.
新分泌的釉质基质所含的矿物盐仅占矿化总量的
男婴,第1胎,足月顺产,出生时哭声洪亮,生后48小时皮肤轻度黄染,昨天家长发现患儿黄疸仍在加深,但反应好,进食佳,血清总胆红素160μmol/L,结合胆红素20μmol/L。最可能诊断为
FIDIC《施工合同条件》中关于争端裁决委员会的规定,下列表述正确的是()。
某商业综合体规划总建筑面积469000万m2,其中规划路南商业区地上部分面积为255950m2,地下部分面积为92180m2。其主要分为六大功能区域:地下室、公寓、室内步行街、百货楼和娱乐楼、塔楼。商业步行街为建筑高度15.9m的多层建筑,地上3层
除《期货交易所管理办法》第十条规定的事项外,会员制期货交易所章程还应当载明的事项有( )。
A、 B、 C、 D、 A
一种经济理论或者经济模型是对经济现象的某些方面的描述,它要比其描述的现实简单。理论要舍弃不重要的东西。至于什么重要,什么不重要,取决于经济学家的假设,假设不同,提出的理论也不一样。经济学家们对同一现象往往有很多的理论解释,主要就是因为强调的东西常常不一样。
Accordingtotheforecast,______.Whichofthefollowingcitieshasthegreatestdifferenceintemperaturefromdaytonight?
最新回复
(
0
)