C++函数模板

/*======================================================================
函数模板:
	实例:
		int max(int a,int b){return a>b?a:b;}
		float max(float a,float b){return a>b?a:b;}
		char max(char a,char b){return a>b?a:b;}
		数据类型不同  逻辑是相同的
		关键字
			template	typename	class(表示数据类型不是类)
			函数模板
			类模板			
		template<class T>//class也可以的是typename
		T max(T a,T b)//函数模板
		{
			return a>b?a:b;
		}
		int main()
		{
			int a=max(1,2);//模板函数	没有数据类型  根据输入参数自动匹配
										有数据类型    输入的参数必须符合输入的数据类型
			cout << max<int>(1, 2) << endl;
		}
		================================================================
		单参数模板
		template<int size>
		void display()
		{
			cout<<size<<endl;
		}
		================================================================
		多参数模板
		template<typename T,typename C>
		void(T t,C c)
		{
			cout<< t << c << endl;
		}
		================================================================
		模板参数重载
			template<typename T>
			template<typename T,float>
			template<typename T,typename C>
			函数模板本身并不是相互重载的关系
			生成模板函数后
			void print<int>(int)
			void print<int>(int,float)
			void print<int>(int,int)
			便形成了重载
/*======================================================================*/
#include <iostream>
using namespace std;
template<class T>
T max(T a, T b)
{
	return a > b ? a : b;
}
template<int size>//函数模板
void display()
{
	cout << size << endl;
}
template<typename T, typename C>
void test(T t, C *c)
{
	cout << t << c << endl;
}
int main()
{
	display<1>();//模板函数
	test<int, char>(4, "ds");
	cout << max<int>(1, 2) << endl;
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值