问题详情

阅读以下说明和C++代码,将应填入_____处的字句写在答题纸的对应栏内。 【说明】已知类LinkedList表示列表类,该类具有4个方法:addElement()、lastElement()、numberOfElement()以及removeLastElement()。4个方法的含义分别如下。voidaddElement(Obect):在列表尾部添加一个对象。ObjectlastElement():返回列表尾部对象。intnumberOfElement():返回列表中对象的个数。voidremoveLastElement():删除列表尾部的对象。现需要借助LinkedList来实现一个Stack栈类,C++代码1和C++代码2分别采用继承和组合的方式来实现。【C++代码1】 【C++代码2】 【问题】若类LinkedList新增加了一个公有的方法removeElement(intindex),用于删除列表中第index个元素,则在用继承和组合两种实现栈类Stack的方式中,哪种方式下Stack对象可访问方法removeElement(intindex)?__(5)__(A.继承B.组合)


时间:2022-01-06 02:42 关键词: C++程序设计 初级程序员

答案解析

<p> (1)lastElement()(2)removeLastElement()(3)LinkedListlist(4)lastElement()(5)A</p>
栈是一种数据结构,是只能在某一端插入和删除的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来),所以获取栈顶元素只需读出最后一个元素即可,因此(1)、(4)处均应为lastElement()。栈是允许在同一端进行插入和删除操作的特殊线性表,允许进行插入和删除操作的一端称为栈顶(top),另一端称为栈底(bottom),插入一般称为压栈(PUSH),删除则称为弹栈(POP)。所以(2)处进行弹栈操作时应删除最后一个元素,因此(2)处应为removeLastElement()。代码2中list没有声明,所以(3)处应为LinkedListlist。对象可以直接访问的方法应该是本类中的所有方法或其父类的非私有方法,所以若类LinkedList新增加了一个公有的方法removeElement(intindex),则Stack对象可以通过代码1中的继承方式来访问该方法。