皮皮学,免费搜题
登录
搜题
【简答题】
阅读下列函数说明和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; }
拍照语音搜题,微信中搜索"皮皮学"使用
参考答案:
参考解析:
知识点:
.
..
皮皮学刷刷变学霸
举一反三
【判断题】()两构件间直接接触并且能作相对运动的联接称为运动副,具体可分为低副和高副两种。
A.
正确
B.
错误
【判断题】纵断面图的纵轴表示水平距离。该表述 ( )
A.
正确
B.
错误
【简答题】名词解释:逆 压电效应
【单选题】有的人,对于几年前背诵的文章还至今不忘,这是他的( )记忆品质好。
A.
敏捷性
B.
持久性
C.
准确性
D.
准备性
【简答题】名词解释 1、声强 2、反射 3、正压电效应 4、衰减 5、逆压电效应
【判断题】宋慈所说的“蔡州人”头部的第九块骨是枕骨。
A.
正确
B.
错误
【单选题】腹泻病人的血清电解质,一般不会出现
A.
低血钾
B.
低血钙
C.
低血钠
D.
低血氯
E.
低血镁
【多选题】根据资产转换为现金的方式不同,企业偿债能力分为()
A.
短期偿债能力
B.
长期偿债能力
C.
不定期偿债能力
D.
静态偿债能力
E.
动态偿债能力
【判断题】纵断面图的横轴表示水平距离。该表述 ( )
A.
正确
B.
错误
【单选题】测定急性呕吐、腹泻病人的血清电解质,一般不会出现
A.
低血钾
B.
低血钙
C.
低血钠
D.
低血氯
E.
低血镁
相关题目: