c++模板类&&模板函数
来源:互联网 发布:聂士成 知乎 编辑:程序博客网 时间:2024/06/08 03:33
模板函数:
template <typename T>
func()
模板类:
template <class T>
class ClassName{
public:
void add(T a){
}
}
template <class T>
void ClassName<T>::add(T a){
}
#include#include #include #include #include using namespace std;/*** Template Function*//*template inline T const& Max(T const& a, T const& b){return a < b ? b : a;}int main(){int i = 39;int j = 20;cout << "Max(i, j):" << Max(i, j) << endl;double f1 = 13.5;double f2 = 20.7;cout << "Max(f1, f2):" << Max(f1, f2) << endl;string s1 = "Hello";string s2 = "World";cout << "Max(s1, s2):" << Max(s1, s2) << endl;return 0;}*//*Template Class*/template class Stack{private:vector elems;public:void push(T const&);void pop();T top() const;//constant function do not change the variable member's valuebool empty() const{return elems.empty();}int depth(){return elems.size();}};template void Stack ::push(T const& elem){elems.push_back(elem);}template void Stack ::pop(){if (elems.empty()){throw out_of_range("Stack<>::pop():empty");}elems.pop_back();}template T Stack ::top() const{if (elems.empty()){throw out_of_range("Stack<>::pop():empty");}return elems.back();}int main(){try{Stack intStack;Stack stringStack;intStack.push(7);cout << intStack.top() << endl;cout << "intStack size " << intStack.depth() << endl;stringStack.push("hello");stringStack.push("hi");cout << stringStack.top() << std::endl;cout << "stringStack size " << stringStack.depth() << endl;stringStack.pop();cout << "Pop stringStack size " << stringStack.depth() << endl;stringStack.pop();cout << "Pop stringStack size " << stringStack.depth() << endl;stringStack.pop();}catch (exception const& ex){cerr << "Exception:" << ex.what() << endl;return -1;}}
0 0
- C/C++:函数模板与类模板
- [C/C++]模板函数与模板类
- C++,template,类模板和函数模板
- C++:函数模板、类模板及其特化
- C++---函数模板与类模板
- c++---函数和类模板
- 函数模板、类模板
- 模板函数,模板类
- 类模板(函数模板)
- 函数模板 类模板
- 函数模板、类模板
- 【c/c++】函数模板和模板函数
- C/C++_log2000_函数模板与类模板笔记1
- C/C++_log2000_函数模板与类模板笔记2
- C/C++ 函数模板
- c++:函数模板
- 【C++】函数模板
- 【c++】函数模板
- Centreon监控主从配置
- Android7.0之从零开始:Intent及IntentFilter
- 搭建自动化框架selenium+java+testng
- ab压力测试
- C#读网卡MAC地址-WMI方法
- c++模板类&&模板函数
- 原生js ajax 操作
- MySql修改配置允许远程连接
- OpenGL的矩阵变换详解——有图有真相
- Html部分使用元素英文
- Servlet中的response对象
- RabbitMQ(三)
- JavaScript语言基础---(三)流程控制语句
- 浅谈程序员的归宿问题