C++中提供了两种模板机制,分别是函数模板和类模板。下面介绍这两种类型。
函数模板,实际上是建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表。这个通用函数就称函数模板。凡是函数体相同的函数都可用这个模板来代替,不必定义多个函数,只需在模板中定义一次即可。在调用函数时系统会根据实参类型来取代模板中的虚拟内型,从而实现不同函数功能的调用。
#include <iostream>
using namespace std;
int add(int x,int y) // 普通函数
{
cout << "int add(int x,int y)" << endl;
return (x + y);
}
template <typename T> // 模板函数
T add(T x,T y)
{
cout << "T add(T x,T y)" << endl;//当普通函数与模板函数同名时,优先调用普通函数
return (x + y);
}
int main()
{
add(1,2);