C++模板函数

1.1函数模板的声明

函数模板可以用来创建一个通用的函数,以支持多种不同的形参,避免重载函数的函数体重复设计。它的最大特点是把函数使用的数据类型作为参数。

函数模板的声明形式为:

template<typename 数据类型参数标识符>

<返回类型><函数名>(参数表)

{

    函数体

}

其中,template是定义模板函数的关键字;template后面的尖括号不能省略;typename(或class)是声明数据类型参数标识符的关键字,用以说明它后面的标识符是数据类型标识符。这样,在以后定义的这个函数中,凡希望根据实参数据类型来确定数据类型的变量,都可以用数据类型参数标识符来说明,从而使这个变量可以适应不同的数据类型

实例:

#include <iostream>
using namespace std;
template <typename T>
//void swapp (T & V_a, T V_b);
void swapp(T & V_a, T & V_b)
{
	T c;
	c = V_a;
	V_a = V_b;
	V_b = c;
}
int main()
{
	/*函数模板显示调用*/
	{
		int x1 = 10, x2 = 20;
		swapp<int>(x1, x2);
		cout << "x1= " << x1 << " x2= " << x2 << endl;
	}
	{
	char x1 = 'A', x2 = 'a';
	swapp<char>(x1, x2);
	cout << "x1= " << x1 << " x2= " << x2 << endl;
    }
	/*函数模板隐式调用*/

	{
		int x1 = 10, x2 = 20;
		swapp(x1, x2);
		cout << "x1= " << x1 << " x2= " << x2 << endl;
	}
	{
		char x1 = 'A', x2 = 'a';
		swapp(x1, x2);
		cout << "x1= " << x1 << " x2= " << x2 << endl;
	}
	system("pause");
	return 0;
}
//template <typename T>
模板函数可分为显示调用,即加<参数类型>(显示调用为最常用方式),和隐式调用即不加 <参数类型>(隐式调用不怎么常使用);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值