模板来设计模板函数和模板类
模板来设计模板函数和模板类
最新推荐文章于 2024-09-13 17:00:00 发布

yanerhao 于 2015-04-17 19:58:37 发布
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
模板功能提供了在函数和类中将类型作为参数的能力,让通用的模板函数或者模板类成为现实。模板函数或者模板类声明如下:
template<typename T>-------------模板前缀;T为类型参数,可以是常见任何类型
模板函数定义如下:
template<typename T>
返回类型 函数名(T 参数....){
operations...(可以定义T类型变量)
}
模板类声明:
template<typename T>
class 类名{
返回类型 函数名(T 参数....)};
模板类声明后,分开,进行类定义:
template<typename>
返回类型 类名<T>::函数名(
T 参数....){
operations...(可以定义T类型变量)
}
比如定义一个T类型的模板类stack,可以是int,double,string:
#ifndef A
#define A
template<typename T>
class stack{
private:
T ele[100];
int size;
public:
stack(){size=0;}
bool empty();
T peek();
void push(T x);
T pop();
int getsize(){return size;}};
template<typename T>
bool stack<T>::empty(){if(size==0) return true;
else return false;}
template<typename T>
T stack<T>::peek(){if(empty()) throw runtime_error("empty");
else return ele[size-1];}
template<typename T>
void stack<T>::push(T x){ele[size++]=x;}
template<typename T>
T stack<T>::pop(){if(empty()) throw runtime_error("empty");
else return ele[--size];}
#endif
主函数调用:
#include"15.h"
template<typename T>
void prt(stack<T> &ee){
while(!ee.empty()){
try{
cout<<ints.pop()<<" ";}
catch(exception&e){cout<<e.what()<<endl;}
}
cout<<endl;}
int main(){
stack<int> ints;
for(int i=0;i<10;i++)
ints.push(i);
prt(ints);
stack<string> ss;
ss.push(""beijing"");
ss.push(""shanghai"");
ss.push(""nanjing"");
prt(ss);
system("pause");
return 0;}
相关知识
模板来设计模板函数和模板类
类模板(基础知识回顾)
HTML宠物商店类网站模板资源
宠物网页模板
宠物店网站模板
外贸企业模板:猫咪宠物网站(zblogphp模板)
宠物用品网页模板
设计作品图片列表网页模板资源
Bootstrap宠物商店模板
票据领用清单模板
原文链接: 模板来设计模板函数和模板类 https://www.mcbbbk.com/newsview671535.html
| 上一篇: (题解)7 | 下一篇: Nature子刊:北京大学段小洁... |





