閱讀以下說(shuō)明和C++代碼,將應(yīng)填入 (n) 處的字句寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
已知類(lèi)LinkedList表示列表類(lèi),該類(lèi)具有四個(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來(lái)實(shí)現(xiàn)一個(gè)Stack棧類(lèi),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;
};
};
【問(wèn)題】
若類(lèi)LinkedList新增加了一個(gè)公有的方法removeElement(int index),用于刪除列表中第index個(gè)元素,則在用繼承和組合兩種實(shí)現(xiàn)棧類(lèi)Stack的方式中,哪種方式下Stack對(duì)象可訪(fǎng)問(wèn)方法removeElement(int index)? (5) (A.繼承B.組合)