```cpp
//定义了类 Stack<>,并实现了泛型方法来对元素进行入栈出栈操作
#include <iostream>
#include <vector> //https://blog.csdn.net/w_linux/article/details/71600574
#include <cstdlib>
#include <string>
#include <stdexcept> //https://blog.csdn.net/qingdujun/article/details/75195061
using namespace std;
template <class T> //定义类模板
class Stack {
private:
vector<T> elems; // 元素
public:
void push(T const&); // 入栈
void pop(); // 出栈
T top() const; // 返回栈顶元素
bool empty() const { // 如果为空则返回真。
return elems.empty(); //empty 判断vector是否为空
}
};
template <class T>
void Stack<T>::push(T const& elem)
{
// 追加传入元素的副本
elems.push_back(elem); //push_back 在数组的最后添加一个数据
}
template <class T>
void Stack<T>::pop()
{
if (elems.empty()) {
throw out_of_range("Stack<
定义了类 Stack,并实现了泛型方法来对元素进行入栈出栈操作
最新推荐文章于 2023-12-12 13:16:46 发布
本文介绍了如何在C++中定义一个Stack类,并利用泛型模板实现元素的入栈push和出栈pop操作,详细内容参考链接。
摘要由CSDN通过智能技术生成