閱讀以下說明和C++代碼,將應(yīng)填入 (n) 處的字句寫在答題紙的對(duì)應(yīng)欄內(nèi)。
【說明】
已知類LinkedList表示列表類,該類具有四個(gè)方法:addElement()、lastElement()、numberOfElement()以及removeLastElement()。四個(gè)方法的含義分別為:
void addElement(Object):在列表尾部添加一個(gè)對(duì)象;
Object lastElement():返回列表尾部對(duì)象;
int numberOfElement():返回列表中對(duì)象個(gè)數(shù);
void removeLastElement():刪除列表尾部的對(duì)象。
現(xiàn)需要借助LinkedList來實(shí)現(xiàn)一個(gè)Stack棧類,C++代碼1和C++代碼2分別采用繼承和組合的方式實(shí)現(xiàn)。
【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新增加了一個(gè)公有的方法removeElement(int index),用于刪除列表中第index個(gè)元素,則在用繼承和組合兩種實(shí)現(xiàn)棧類Stack的方式中,哪種方式下Stack對(duì)象可訪問方法removeElement(int index)? (5) (A.繼承B.組合)