定义方法模板
#include<iostream>
using namespace std;
template<typename T>
T absVal(T val){
return val>0?val:-val;
}
int main(){
double dval=0.88;
float fval = -12.4;
cout<<absVal(-5)<<endl;
cout<<absVal(dval)<<endl;
cout<<absVal(fval)<<endl;
}
inline函数模板
inline关键字不能放在template之前,应放在形参表之后,返回类型之前
template <typename T> inline T min(const T&,const T&);
定义类模板
Queue模板接收一个名为Type的模板类型形参
#include<iostream>
#include<string>
#include<vector>
using namespace std;
//定义类模板
template <class Type> class Queue{
public:
Queue();
Type &front();
const Type &front()const;
void push(const Type &);
void pop();
bool empty() const;
};
int main(){
//类模板的使用
Queue<int> qi; //用int代替Type
Queue<vector<int> > qvi;//用vector<int> 代替Type
Queue<string> qs;//用string 代替Type
}