C++ 模板
来源:互联网 发布:付费网络调查 编辑:程序博客网 时间:2024/05/18 09:20
函数模板template <typename T>inline T const& Max (T const& a, T const& b) { return a < b ? b:a; } ---------------------------------------------------------------------------------------------------------类模板#include <iostream>#include <vector>#include <cstdlib>#include <string>#include <stdexcept>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(); }};template <class T> void Stack<T>::push (T const& elem){ // 追加传入元素的副本 elems.push_back(elem);}template <class T> void Stack<T>::pop (){ if (elems.empty()) { throw out_of_range("Stack<>::pop(): empty stack"); }// 删除最后一个元素 elems.pop_back();}template <class T> T Stack<T>::top () const{ if (elems.empty()) { throw out_of_range("Stack<>::top(): empty stack"); }// 返回最后一个元素的副本 return elems.back();}int main(){ try { Stack<int> intStack; // int 类型的栈 Stack<string> stringStack; // string 类型的栈 // 操作 int 类型的栈 intStack.push(7); cout << intStack.top() <<endl; // 操作 string 类型的栈 stringStack.push("hello"); cout << stringStack.top() << std::endl; stringStack.pop(); stringStack.pop(); } catch (exception const& ex) { cerr << "Exception: " << ex.what() <<endl; return -1; }}
0 0
- C++-模板
- C++-模板
- C++:模板
- C++:模板
- C++:模板
- 模板 (C++)
- C ++ 模板
- C ++ 模板
- 【C++】模板
- c++----------模板
- C++--------------------------------------------模板
- c++--模板
- C++:模板
- 【基础C&C++】模板
- 【c/c++】类模板
- 【C/C++】模板类
- 【c++】模板和模板类
- C/C++:函数模板与类模板
- 《谈判力》读书笔记:第二章 把人和事分开
- JS传递值给android
- linux centos 6.5下安装nodejs
- Linux内核架构演化
- 算法提高 学霸的迷宫
- C++ 模板
- Cent OS6.5 安装nodeJS(分分钟搞定)
- 《谈判力》读书笔记:第三章 着眼于利益,而不是立场
- POJ 3181Dollar Dayz
- php归档格式:phar文件详解(创建、使用、解包还原提取)
- 常见图算法总结与Java实现
- 如何计算二叉树的高度。
- poj 1699—Best Sequence(dfs剪枝)
- python——xlwt库的使用(2)