template<class T> class Stack { public: bool isEmpty() const; void push(const T& value); T pop(); T peak() const; private: LinkedList data; }; template<class T> bool Stack::isEmpty() const { return data.isEmpty(); } template<class T> void Stack::push(const T& value) { data.addLast(value); } template<class T> T Stack::pop() { T temp = data.getLast(); data.removeLast(); return temp; } template<class T> T Stack::peak() const { return data.getLast(); }修复代码
时间: 2023-12-03 18:44:27 浏览: 77
Chain-store-stack-class-.rar_class
修复后的代码如下:
```
template<class T>
class Stack {
public:
bool isEmpty() const;
void push(const T& value);
T pop();
T peak() const;
private:
LinkedList<T> data; // 修改为 LinkedList<T>
};
template<class T>
bool Stack<T>::isEmpty() const {
return data.isEmpty();
}
template<class T>
void Stack<T>::push(const T& value) {
data.addLast(value);
}
template<class T>
T Stack<T>::pop() {
T temp = data.getLast();
data.removeLast();
return temp;
}
template<class T>
T Stack<T>::peak() const {
return data.getLast();
}
```
修复的主要问题是在类定义中缺少模板参数类型 `<T>`,以及在类成员函数的实现中需要使用模板参数类型 `<T>` 修饰 `LinkedList`。
阅读全文