问题
填空题
下面是一个栈类的模板,其中push函数将元素i压入栈顶,pop函数弹出栈顶元素。栈初始为空,top值为0,栈顶元素在stack[top-1]中,在下面横线处填上适当语句,完成栈类模板的定义。 template <class T> Class Tstack { enum{size=1000}; T stack[size]; int top; public: Tstack():top(0){} void push(const T &i){ if(top<size)stack [top++]=i; } T pop(){ if(top==0) exit(1); //栈空时终止运行return ______ ; } };
答案
参考答案:stack[--top]或stack[top-=1]或stack[top=top-1]
解析: 本题考核类模板.函数pop的的功能栈顶元素,所以在函数体内应该完成的动作是弹出元素stack(top-1],然后将top做减1一操作,由于只有一处空格,所以这两操作要在一条语句中完成。