参考链接:http://www.cnblogs.com/ggjucheng/archive/2011/12/18/2292090.html
一、函数模板
模板template,可以允许函数在定义时类型暂不明确,其主要目的是为了解决当需要相同功能的函数但其参数类型不一致,若对函数进行重写,则效率不高。因此引入模板,在定义函数之初用模板来替代,在调用时应传参来进行更改函数参数类型。
eg:交换两个值,其类型可以是int、也可以是double等等
#include <iostream>
using namespace std;
template <typename T>
void exchange(T &i1, T &i2)
{
T temp = i1;
i1 = i2;
i2 = temp;
}
int main()
{
int i = 1,j = 10000;
exchange(i, j);
cout << i << j << endl;
double m = 1.023, n = 2.045;
exchange(m, n);
cout << m << n << endl;
system("pause");
return 0;
}
二、类模板
其作用与函数模板大致一致,但在书写格式上略有区别
eg:template <class Type>
bool stack<Type>::push(const Type & item){...}
未完待续。。