C++ 实现栈的类库
时间: 2024-09-23 16:09:19 浏览: 21
在C++中,实现一个栈(Stack)类库通常会涉及基本的数据结构操作,如压入元素(push)、弹出元素(pop)、查看顶部元素(top),以及判断是否为空(empty)。下面是一个简单的C++类实现栈的基本功能:
```cpp
#include <iostream>
#include <stack>
class Stack {
private:
std::stack<int> data; // 使用C++标准库提供的stack容器
public:
// 构造函数
Stack() {}
// 压入元素
void push(int value) {
data.push(value);
}
// 弹出并返回顶部元素(如果没有则抛异常)
int pop() {
if (empty()) {
throw std::runtime_error("Stack is empty");
}
return data.top(); // 返回顶元素然后移除
}
// 查看顶部元素(不会改变栈的状态)
int top() const {
if (empty()) {
throw std::runtime_error("Stack is empty");
}
return data.top();
}
// 判断栈是否为空
bool empty() const {
return data.empty();
}
// 错误处理示例:用于显示异常信息
void handleException(const std::string& msg) {
std::cerr << "Error: " << msg << std::endl;
}
};
int main() {
Stack s;
s.push(1);
s.push(2);
try {
std::cout << "Top element: " << s.top() << std::endl;
s.pop();
std::cout << "After popping: " << s.top() << std::endl;
} catch (const std::exception& e) {
s.handleException(e.what());
}
return 0;
}
```
阅读全文