题库 题库

【简答题】

试题五(共15分)阅读以下说明和C++代码,将应填入(n)处字句写在答题纸对应栏内。
【说明】
        已知类LinkedList表示列表类,该类具有四个方法:addElement()、lastElement()、numberOfElement()以及removeLastElement()。四个方法的含义分别为:
        void addElement(Object):在列表尾部添加一个对象;
        Object lastElement():返回列表尾部对象;
        int numberOfElement():返回列表中对象个数;
        void removeLastElement():删除列表尾部的对象。
        现需要借助LinkedList来实现一个Stack栈类,C++代码1和C++代码2分别采用继承和组合的方式实现。
【C++代码1】
class Stack :public LinkedList{
public:
    void push(Object o){addElement(o);};      //压栈
    Object peek(){return  (1) ;};             //获取栈顶元素
    bool isEmpty(){                              //判断栈是否为空
        return numberOfElement()==0;
    };
    Object pop() {                              //弹栈
        Object o=lastElement();
              (2) ;
          return o;
    };
};
【C++代码2】
class Stack{
private:
      (3) ;
public:
    void push(Object o){                      //压栈
        list.addElement(o);
    };
    Object peek(){                              //获取栈顶元素
        return list. (4) ;
    };
    bool isEmpty() {                          //判断栈是否为空
        return list.numberOfElement()==0;
    };
    Object pop(){                              //弹栈
        Object o=list.lastElement();
        list.removeLastElement();
        return o;
    };
};
【问题】
        若类LinkedList新增加了一个公有的方法removeElement(int index),用于删除列表中第index个元素,则在用继承和组合两种实现栈类Stack的方式中,哪种方式下Stack对象可访问方法removeElement(int index)?  (5)  (A.继承B.组合)

参考答案

(1) lastElement() 
(2) removeLastElement() 
(3) LinkedList list
(4) lastElement() 
(5) A

相关试题