首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和C++代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 对多个元素的聚合进行遍历访问时,需要依次推移元素,例如对数组通过递增下标的方式,数组下标功能抽象化、一般化的结果就称为迭代器(Iterator)。模式以下程序模拟将书籍(B
阅读下列函数说明和C++代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 对多个元素的聚合进行遍历访问时,需要依次推移元素,例如对数组通过递增下标的方式,数组下标功能抽象化、一般化的结果就称为迭代器(Iterator)。模式以下程序模拟将书籍(B
admin
2014-10-11
36
问题
阅读下列函数说明和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://kaotiyun.com/show/diDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
某软件设计师自行将他人使用C程序语言开发的控制程序转换为机器语言形式的控制程序,并固化在芯片中,该软件设计师的行为(15)。
采用UML进行软件设计时,可用(17)关系表示两类事物之间存在的特殊/一般关系,用聚集关系表示事物之间存在的整体/部分关系。
在C程序中,设有“inta=3,b=2,c=1;”,则表达式a>b>c的值是_________。
编译和解释是实现高级程序设计语言的两种基本方式,________是这两种方式的主要区别。
某计算机系统页面大小为4K,进程P的页面变换表如下表所示。若P中某数据的逻辑地址为十六进制2C18H,则该地址的页号和页内地址分别为2和C18H;经过地址变换后,其物理地址应为十六进制______。
设X、Y、Z为逻辑变量,当且仅当X和Y同时为1时,Z为0,其他情况下Z为1,则对应的逻辑表达式为________。
阅读以下说明,回答问题1至问题3。[说明]某公司规模扩大,既要考虑保证目前土建装修的效果不被破坏,又要满足网络扩容和企业工作实际需求,同时还要保证投资不要过大。经过深入分析和研究对比,决定采用无线局域网组网来解决网络扩容的问题,网络拓扑如图1-1
双绞线可以制作成直连线和交叉线两种形式。在上图中,两个交换机的UPLINK口相连,使用的双绞线制作成什么形式?连接交换机和计算机的双绞线制作成什么形式?阅读下面的配置信息,将(1)~(4)处空缺的内容填写在相应位置。SW1>enable
随机试题
设行列式则行列式()
A.卫生部C.人力资源和社会保障部B.国家发展和改革委员会D.国家食品药品监督管理局E.国家药物基本工作委员会确定国家基本药物制度框架的机构
晚期肾癌患者常伴营养不良,其最主要的原因是
下列各项目中,不属于延长信用期所产生的后果的是()。
风险处理对策是否最佳,可通过评估风险管理的( )来判断。
某股份有限公司采用债务法核算所得税,上期期末“递延所得税负债”科目的贷方余额为2500.4万元,适用的所得税税率为38%;本期发生的应纳税时间性差异为1200万元,适用的所得税税率为30%。该公司本期期末“递延所得税负债”科目的余额为()万元。
社会主义之所以必须实行按劳分配是由()决定的。
创作者的实践能力__________于文化节目的构思、创作、合成、编辑或播出过程。思想、艺术水准较高的创作者往往制作出具有较高文化__________、融艺术性和观赏性、社会效果和艺术__________于一体的节目,否则很快就会被淘汰。填入画横
人际吸引的增减原则或得失原则
A、Theseregionsarestillattractingpeoplefromotherareas.B、Thefreezingwinterdrivespeopleawayfromtheseregions.C、Man
最新回复
(
0
)