题目内容 (请给出正确答案)
[主观题]

阅读下列函数说明和C++代码,回答问题[说明] 对多个元素的聚合进行遍历访问时,需要依次推移元素,

阅读下列函数说明和C++代码,回答问题

[说明]

对多个元素的聚合进行遍历访问时,需要依次推移元素,例如对数组通过递增下标的方式,数组下标功能抽象化、一般化的结果就称为迭代器(Iterator)。模式以下程序模拟将书籍(Book)放到书架(BookShelf)上并依次输出书名。这样就要涉及到遍历整个书架的过程。使用迭代器Iterator实现。图5-1显示了各个类间的关系。以下是C++语言实现,能够正确编译通过。

[图5-1]

阅读下列函数说明和C++代码,回答问题[说明] 对多个元素的聚合进行遍历访问时,需要依次推移元素,阅

[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;

}

查看答案
如搜索结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能会需要:
您的账号:
发送账号密码至手机
发送
更多“阅读下列函数说明和C++代码,回答问题[说明] 对多个元素的…”相关的问题

第1题

阅读下列函数说明和C代码,回答下面问题。[说明] 冒泡排序算法的基本思想是:对于无序序列()处的字句写在的对应栏内。
点击查看答案

第2题

阅读下列说明和代码,回答问题1和问题2,将解答卸载答题纸的对应栏内。【说明】某一本地口令验证函数(

阅读下列说明和代码,回答问题1和问题2,将解答卸载答题纸的对应栏内。

【说明】

某一本地口令验证函数(C语言环境,X86_32指令集)包含如下关键代码:某用户的口令保存在字符数组origPassword中,用户输入的口令保存在字符数组userPassword中,如果两个数组中的内容相同则允许进入系统。

【问题1】

用户在调用gets()函数时输入什么样式的字符串,可以在不知道原始口令“Secret”的情况下绕过该口令验证函数的限制?

【问题2】

上述代码存在什么类型的安全隐患?请给出消除该安全隐患的思路。

点击查看答案

第3题

阅读下列说明和C代码,回答问题l至问题3.将解答写在答题纸的对应栏内。【说明】计算一个整数数组a的阅读下列说明和C代码,回答问题l至问题3.将解答写在答题纸的对应栏内。 【说明】 计算一个整数数组a的最长递增子序列长度的方法描述如下: 假设数组a的长度为n,用数组b的元素b[i]记录以a[i]() 已知数组a={3,10,5,15,6,8},根据说明和C代码,给出数组b的元素值。
点击查看答案

第4题

阅读以下说明和关系表,回答问题1~3。[说明] 已知关系R(A,B,C,D) 和函数依赖集F为{AB—>D,C—>,A,D—>

阅读以下说明和关系表,回答问题1~3。

[说明]

已知关系R(A,B,C,D) 和函数依赖集F为{AB—>D,C—>,A,D—>C}。

找出关系R的候选键,一共有几个?

点击查看答案

第5题

阅读以下说明和关系表,回答问题1~3。[说明]关系R中有如下函数依赖关系: DC→E DB→E BA→F BC→DF AC→

阅读以下说明和关系表,回答问题1~3。

[说明]

关系R中有如下函数依赖关系:

DC→E

DB→E

BA→F

BC→DF

AC→D

DA→F

D→B

求此模型的最小函数依赖集。

点击查看答案

第6题

阅读以下说明和C函数,填补代码中的空缺(); Return width; }
点击查看答案

第7题

请认真阅读以下关于某传输系统的技术说明、状态转换图及C++代码,根据要求回答问题1~问题2。 [说明]
请认真阅读以下关于某传输系统的技术说明、状态转换图及C++代码,根据要求回答问题1~问题2。 [说明] 传输门是传输系统中的重要装置。传输门具有Open()空缺处的语句填写完整。
请认真阅读以下关于某传输系统的技术说明、状态转换图及C++代码,根据要求回答问题1~问题2。 [说明]

请认真阅读以下关于某传输系统的技术说明、状态转换图及C++代码,根据要求回答问题1~问题2。 [说明] 传输门是传输系统中的重要装置。传输门具有Open()空缺处的语句填写完整。

点击查看答案

第8题

阅读以下关于嵌入式操作系统软件编码优化的技术说明,根据要求回答问题1至问题5。【说明】 由于嵌入

阅读以下关于嵌入式操作系统软件编码优化的技术说明,根据要求回答问题1至问题5。

【说明】

由于嵌入式系统对实时性的要求较高,因此一般要求对代码的性能进行优化,使代码的执行速度越快越好。图6-22给出了两个算术运算的程序段(a)、(b)。

在嵌入式系统设计过程中,给定一份软件设计规格说明书后,下一步的工作就是编写代码。通常编码工作包含哪些步骤?

点击查看答案

第9题

阅读下列说明,回答问题1至问题3,将解答填入对应栏内。【说明】 某银行的转账业务分为如下两类操作:
阅读下列说明,回答问题1至问题3,将解答填入对应栏内。 【说明】 某银行的转账业务分为如下两类操作: ()
阅读下列说明,回答问题1至问题3,将解答填入对应栏内。【说明】 某银行的转账业务分为如下两类操作:

阅读下列说明,回答问题1至问题3,将解答填入对应栏内。 【说明】 某银行的转账业务分为如下两类操作: ()

点击查看答案

第10题

阅读下列说明,回答问题1至问题3。[说明] 某测试小组对两个网站进行了系统测试。以下是连接速度的测

阅读下列说明,回答问题1至问题3。

[说明]

某测试小组对两个网站进行了系统测试。以下是连接速度的测试界面。

右图是该测试小组对网站制定的测试流程图,请将其补充完整。

点击查看答案

第11题

阅读下列说明,回答问题1至问题2,将解答填入对应栏内。 【说明】 利用Windows Server 2008架设邮件服

阅读下列说明,回答问题1至问题2,将解答填入对应栏内。

【说明】

利用Windows Server 2008架设邮件服务器,回答相应问题。

邮件服务器通常提供POP3和SMTP两种服务,它们各有什么作用?

点击查看答案
热门考试 全部 >
相关试卷 全部 >
账号:
你好,尊敬的上学吧用户
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改
谢谢您的反馈

您认为本题答案有误,我们将认真、仔细核查,
如果您知道正确答案,欢迎您来纠错

警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

微信搜一搜
上学吧
点击打开微信
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反上学吧购买须知被冻结。您可在“上学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
微信搜一搜
上学吧
点击打开微信