( 15 )请将下列栈类 Stack 补充完整
class Stack{
private:
int pList[100]; // int 数组 , 用于存放栈的元素
int top; // 栈顶元素 ( 数组下标 )
public:
Stack():top(0){}
void Push(const int &item); // 新元素 item 压入栈
int Pop(void); // 将栈顶元素弹出栈
};
void Stack::Push(const int &item){
if(top == 99) // 如果栈满 , 程序终止
exit(1);
top++; // 栈顶指针增 1
___________;
}
int Stack::Pop(){
if(top<0) // 如果栈空 , 程序终止
exit(1);
return pList[top--];
}
第1题:
有如下类定义,请将Sample类的拷贝构造函数补充完整。
class Sample{
public:
Sample(){)
~Sample(){if(p)delete p;)
Sample(const Sample& s){
______
}
void SetData(int data) {p=new int(data);}
private:
int*p;
};
第2题:
4、当利用大小为n的数组顺序存储一个栈时,假定用top==0表示栈空,则向这个栈插入一个元素时,操作为()。
A.top=top+1; stack[top]=x;
B.stack[top]=x; top=top+1;
C.top=top-1; stack[top]=x;
D.stack[top]=x; top=top-1;
第3题:
以下泛型集合声明中正确的是
A.class stack<T>{} stack <int> s=new stack<int>();
B.class stack<T>{} stack <int> s=new stack ();
C.class stack<T>{} stack s=new stack();
D.class stack<T>{} stack <int> s=new stack <int>;
第4题:
有如下类定义,请将Sample类的拷贝构造函数补充完整。 class Sample { public: Sample(){} ~Sample(){if(p)delete p;} Sample(const Sample&s){ p=new int; *p=___________; } void SetData(int data) {p=new int(data);} void print(){cout<<*p<<endl;} private: int*p; };
第5题:
开始往输入串末尾和分析栈stack中放“#”,然后把文法开始符号压栈。预测分析程序总是按_________和________。
A.stack栈顶符号X 最后的输入符号b
B.stack栈顶符号X 当前输入符号a
C.stack栈尾符号X 当前输入符号a
D.stack栈尾符号X 最后的输入符号b