#include iostream#include vector#include cstdlib#include string#include stdexcept
编程学习网为您整理以下代码实例,主要实现:C++类模板,希望可以帮到各位朋友。
#include <iostream>
#include <vector>
#include <cstdlib>
#include <string>
#include <stdexcept>
using namespace std;
template <class T>
class Stack {
private:
vector<T> elems; // elements
public:
voID push(T const&); // push element
voID pop(); // pop element
T top() const; // return top element
bool empty() const { // return true if empty.
return elems.empty();
}
};
template <class T>
voID Stack<T>::push (T const& elem) {
// append copy of passed element
elems.push_back(elem);
}
template <class T>
voID Stack<T>::pop () {
if (elems.empty()) {
throw out_of_range("Stack<>::pop(): empty stack");
}
// remove last element
elems.pop_back();
}
template <class T>
T Stack<T>::top () const {
if (elems.empty()) {
throw out_of_range("Stack<>::top(): empty stack");
}
// return copy of last element
return elems.back();
}
int main() {
try {
Stack<int> intStack; // stack of ints
Stack<string> stringStack; // stack of strings
// manipulate int stack
intStack.push(7);
cout << intStack.top() <<endl;
// manipulate string stack
stringStack.push("hello");
cout << stringStack.top() << std::endl;
stringStack.pop();
stringStack.pop();
} catch (exception const& ex) {
cerr << "Exception: " << ex.what() <<endl;
return -1;
}
}
织梦狗教程
本文标题为:C++类模板


基础教程推荐
猜你喜欢
- 使用基本数据类型,并输出它们的值,int,floa 1970-01-01
- \a序列表示“钟”字符。 1970-01-01
- C++ #define 1970-01-01
- C++函数调用运算符()重载 1970-01-01
- C++递增指针 1970-01-01
- C++ - 指向对象的向量的性能与对象的性能 2022-10-18
- C++条件编译 1970-01-01
- C语言库difftime()函数 1970-01-01
- 读取名字和身高并显示信息 1970-01-01
- 使用printf()显示int类型的变量 1970-01-01