函数模板
语法:
函数模板 template< typename T > 或者可以写template< class T > 函数声明或定义
解释: 1.template----声明创建模板 2.typename-------表明其后面的符号是一种数据类型,可以用class代替 3.T----------通用的数据类型,名称可以替换,通常为大写
下面写一个交换两个数字的函数模板:
代码语言:javascript复制#include<iostream>
using namespace std;
//两个整型交换的函数模板
template<class T>
void mySwap(T &a,T &b)
{
T temp = a;
a = b;
b = temp;
}
int main()
{
int a = 10;
int b = 20;
//1.自动类型推导
mySwap(a, b);
cout << "a=" << a << " " << "b=" << b << endl;
char S = 'B';
char B = 'S';
//2.显示指定类型
mySwap<char>(S, B);
cout << S << B << endl;
system("pause");
return 0;
}
注意: 模板必须要确定T的数据类型才可以使用
代码语言:javascript复制#include<iostream>
using namespace std;
template<class T>
void func()
{
cout << "func函数调用" << endl;
}
int main()
{
//func() 错误,模板不能独立使用,要指定T的数据类型
func<char>(); //利用显示指定类型的方式给T指定一个类型,才能使用模板
func<int>();
system("pause");
return 0;
}
后续持续更新中…可点击主页查看