高手进,进来看一下吧,哪里错了?

来源:百度知道 编辑:UC知道 时间:2024/05/14 14:15:18
#include "iostream.h"
template<class T>
class Stack
{
public:
Stack(int =10);
~Stack()
{delete [] stackPtr;}
int push(const T&);
int isEmpty() const
{return top==-1;}
int pop(T &);
int isFull() const
{return top==size-1;}
private:
int size;
int top;
T *stackPtr;
};

template<class T>
Stack<T>::Stack(int s)
{
size=s>0&&s<1000?s:10;
top=-1;
stackPtr=new T[size];
}

template<class T>
int Stack<T>::push(const T &item)
{
if(!isFull()){
stackPtr[++top]=item;
return 1;
}
return 0;
}
template<class T>
int Stack<T>::pop(const T &popValue)
{
if(!isEmpty())
{
popValue=stackPtr[top--];
return 1;
}
return 0;
}
void main()

#include <iostream>
using namespace std;
template<class T>
class Stack
{
public:
Stack(int =10);
~Stack()
{delete [] stackPtr;}
int push(const T&);
int isEmpty() const
{return top==-1;}
int pop(T &);
int isFull() const
{return top==size-1;}
private:
int size;
int top;
T *stackPtr;
};

template<class T>
Stack<T>::Stack(int s)
{
size=s>0&&s<1000?s:10;
top=-1;
stackPtr=new T[size];
}

template<class T>
int Stack<T>::push(const T &item)
{
if(!isFull()){
stackPtr[++top]=item;
return 1;
}
return 0;
}
template<class T>
int Stack<T>::pop( T &popValue) //楼主啊,疏忽了呀,函数声明与实现不一致啊
{
if(!isEmpty())
{
popValue=stackPtr[top--];
return 1;
}
return 0;