问答题
24分
打开考生文件夹下的工程proj2,其中有元素类Element和集合类MySet的定义。请在程序中的横线处填写适当的代码,然后删除横线,以实现上述类定义。此程序的输出结果应为:
打开考生文件夹下的工程proj2,其中有元素类Element和集合类MySet的定义。请在程序中的横线处填写适当的代码,然后删除横线,以实现上述类定义。此程序的输出结果应为:
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不能
删除或移动"//**********found**********"。
参考解析: 【参考答案】
(1) ++current
(2) ele.n == element[pos-1].n
(3)new Element[size + 100]
(4) scanNext()
【考点分析】
本题考查自增运算符、相等运算符,动态内存分配、成员函数的使用。
【解题思路】
(1) 主要考查考生对数组和自增运算符的掌握情况,扫描数组元素,将扫描位置定位到下一个元素,需要将下标加1,使用自增运算符。
(2)主要考查考生对数组元素的访问和比较运算符的掌握,pos初值为数组元素个数,所以访问element元素使用pos-1,避免访问数组越界;另外需要判断插入元素与当前元素是否相等来决定程序是否返回,使用相等运算符。
(3) 主要考查考生对动态内存分配的掌握,题意需要申请一个新的数组,并将当前数组容量size扩大100个,所以答案为new Element[size + 100]。
(4) 主要考查考生对类成员函数的掌握,show函数用来输出数组的所有元素,所以从首元素开始一次输出,输出一个元素需要将扫描定位到下一个元素,对应于前面的scanFirst(),使用成员函数scanNext()最合适不过了。