下面是一个栈类的模板,其中push函数将元素i压入栈顶,pop函数弹出栈顶元素。栈初始为空,top值为0,栈顶元素在stack[top-1)中,在下面横线处填上适当语句,完成栈类模板的定义。 template<class T> class Ts

admin2010-06-06  25

问题 下面是一个栈类的模板,其中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操作,且空格处要求这两个操作在一条语句中完成。
转载请注明原文地址:https://kaotiyun.com/show/acjp777K
0

最新回复(0)