首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和C++代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 对多个元素的聚合进行遍历访问时,需要依次推移元素,例如对数组通过递增下标的方式,数组下标功能抽象化、一般化的结果就称为迭代器(Iterator)。模式以下程序模拟将书籍(B
阅读下列函数说明和C++代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 对多个元素的聚合进行遍历访问时,需要依次推移元素,例如对数组通过递增下标的方式,数组下标功能抽象化、一般化的结果就称为迭代器(Iterator)。模式以下程序模拟将书籍(B
admin
2014-10-11
60
问题
阅读下列函数说明和C++代码,将应填入(n)处的字句写在答题纸对应栏内。
【说明】
对多个元素的聚合进行遍历访问时,需要依次推移元素,例如对数组通过递增下标的方式,数组下标功能抽象化、一般化的结果就称为迭代器(Iterator)。模式以下程序模拟将书籍(B00k)放到书架(B00kShelf)上并依次输出书名。这样就要涉及到遍历整个书架的过程。使用迭代器Iterator实现。图5.1显示了各个类间的关系。以下是C++语言实现,能够正确编译通过。
【图5一1】
【C++代码】
template
class Iterator{
public:
virtual bool hasNext() =0;
(2) obj ect*next() =0;
};
class B00k{
//省略具体方法和属性
};
class BookShelf(
private:
vector
books:
public:
BookShelf()(
}
B00k* getBookAt(int index){
return&b00ks[index];
}
int getLength(){
return books.size();
}
template
class BookShelfIterator : public (3) {
BookShel f *bookShel f:
BookShelfIterator(BookShelf *bookShelf)(
this一>bookShelf=b00kShelf:
bool hasNext(){//判断是否还有下一个元素
if(index
getLength()){
object*next(){//取得下一个元素
return bookShel f一>getBookAt(index++);
B00kShelf bookShel f:
//将书籍上架,省略代码
rterator
*it=new Book ShelfIterator
( (4) );
while(5){//遍历书架,输出书名
b00k= (Book*)it一>next();
/*访问元素*/
选项
答案
(1)Object (2)virtual (3)Iterator
(4)&bookShelf (5)it一>hasNext()
解析
Iterator是模板类,空(1)应该填某个类名,其方法next()的返回类型是Object,而Object没有定义,故空(1)应填Object。从next()方法末尾的“=0”可知,该方法为纯虚函数,故空(2)应填virtual。BookShelflterator类继承自Iterator类,要注意的是模板类基类的写法,空(3)应填Iterator
。根据构造函数BookShelfIterator(BookShelf*bookShelf)可得,空(4)应填&bookShelf,注意地址符,因形参是BookShelf指针。while循环是遍历书架,输出书名,循环条件是“还有下一记录(书)”,故空(5)应填it一>hasNext0。注意指针写法。
转载请注明原文地址:https://www.kaotiyun.com/show/diDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
某软件设计师自行将他人使用C程序语言开发的控制程序转换为机器语言形式的控制程序,并固化在芯片中,该软件设计师的行为(15)。
在软件开发过程中,常采用图形表示相关的信息,(28)不用于表示软件模块的执行过程。
以下关于建立良好的程序设计风格的叙述中,正确的是()。
关系数据库是表的集合。对视图进行查询,本质上就是查询从_______中获得的数据。
在C程序中,________是合法的用户定义变量名。①123②form-7③short④form7
设X、Y、Z为逻辑变量,当且仅当X和Y同时为1时,Z为0,其他情况下Z为1,则对应的逻辑表达式为________。
[Java源程序:一个简单的Web服务器]/************************************************************//*WebServer.java*//******
目前,通过移动电话接人互联网采用的主要技术是什么?进行一次查询的数据信息如表9-1所示,网络的基本通信服务费用如表9-2所示,总费用=网络租用费+通信费。根据表中给出的数据,试计算销售员每月至少应进行多少次查询,才能使得使用移动电话的总费用比使用PDA
阅读以下说明,回答问题1至问题3,将解答填入答题纸对应的解答栏内。说明网络解决方案如图4-1所示。该网络原先使用的是国外品牌的交换机,随着网络规模的扩大,增添了部分国产品牌的交换机,交换机1至交换机5均是国产10M/100M自适应交换机,交换机6
随机试题
窗前的树张抗抗①我家窗前有一棵树。那是一棵高大的洋槐。……②洋槐在春天,似乎比其它的树都沉稳些。杨与柳都已翠叶青青,它才爆发出米粒大的嫩芽:只星星点点的一层隐绿,悄悄然绝不
关于甲状旁腺癌的声像图特征,下列哪项描述错误
女性,32岁,婚后5年一直未孕,进行性痛经8年。妇科检查:见于宫后倾,固定,后壁能及两黄豆大小的痛性结节,右侧附件区扪及两个直径约为2cm的囊性包块,左侧附件区组织略增厚。应考虑为
下列会计事项中,可能影响企业当期利润表中营业利润的有()。
某技术改造项目有四个互斥方案,其投资额和年净收入如下表所示。由上表可知,最佳方案为()。
对企业投资者从证券投资基金分配中取得的收入,应该征收企业所得税。()
公安机关枪支管理的范围包括()。
来自公安机关的资料显示,娱乐圈中有人吸毒,高级知识分子中也有人吸毒,吸毒者中有些人是女性,而抢劫犯中有相当比例是吸毒者。由此可见()。
2013年,我国国内生产总值568845亿元,比上年实际增长7.7%。其中,第一产业增加值56957亿元,第二产业增加值249684亿元,第三产业增加值262204亿元。第一产业增加值占国内生产总值的比重为10.0%,第二产业增加值比重为43.
MallaryWassurprisedbecausehe______.WhereWashisdonkey?
最新回复
(
0
)