[说明]对多个元素的聚合进行遍历访问时,需要依次推移元素,例如对数组通过递增下标的方

题型:问答题

问题:

[说明]

对多个元素的聚合进行遍历访问时,需要依次推移元素,例如对数组通过递增下标的方式,数组下标功能抽象化、一般化的结果就称为迭代器(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;

(3)处填()。

考点:计算机软件水平考试中级软件设计师中级软件设计师下午试题
题型:问答题

如图,《水浒传》是根据北宋末年宋江起义的题材创作而成的小说,它围绕“官逼民反”的主题,揭露当时社会的黑暗,刻画了性格、经历不同的各种反抗者的英雄形象。下面的故事出自这一小说的是 

题型:问答题

关于图中所示的蛲虫导致的蛲虫病,其临床表现描述正确的是

A.轻度感染者无症状

B.极少数女性患者可出现异位并发症

C.由于搔伤,局部可出现肿痛

D.可伴有食欲不振、腹胀、恶心等消化道症状

E.主要为肛周和会阴部奇痒与虫爬感

题型:问答题

人机的效能取决于()。系统设计的问题是人与机器之间的分工以及人与机器之间如何有效地进行信息交流等问题。

题型:问答题

生物有丝分裂使细胞的亲代和子代保持遗传性状的稳定,这是因为()

A.子代细胞和亲代细胞的染色体上的遗传物质DNA不变

B.分裂间期染色体和DNA自我复制一次

C.分裂后期染色体和DNA分子平均分配了一次

D.分裂期细胞平均分裂了一次

题型:问答题

如何进行儿童维生素D缺乏性佝偻病的预防?

更多题库