列表

详情


(共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.组合)

参考答案:

详细解析:

上一题