您的位置:首页 > 编程语言 > C语言/C++

C++函数模板

2016-01-02 23:03 316 查看
#include "stdafx.h"
#include <malloc.h>
int max(int a,int b)
{
return 111;
}
int max(int a,int b,int c)
{
return 222;
}
//int max(int array[],int len) // int array[len]
//{
//  int imax=0;
//   for(int i=0;i<len;i++)
//   {
//      if(array[i]>imax)
//	  {
//		  imax=array[i];//取得最大值
//	  }
//   }
//   return imax;
//}
//
//float max(float array[],int len) // int array[len]
//{
//	float imax=0;
//	for(int i=0;i<len;i++)
//	{
//		if(array[i]>imax)
//		{
//			imax=array[i];//取得最大值
//		}
//	}
//	return imax;
//}

template <class S,class ti> S max(S array[],ti len) // int array[len]
{
S imax=0;
for(ti i=0;i<len;i++)
{
if(array[i]>imax)
{
imax=array[i];//取得最大值
}
}
return imax;
}
int _tmain(int argc, _TCHAR* argv[])
{
int a[6]={1,2,3,4,5,6};
float af[6]={1.0,3.0,1.0,0,0,99.8877};
printf("%d,%d\n",max(1,2),max(1,1,1));
printf("数组a最大值为%d \n",max(a,sizeof(a)/sizeof(int)));
printf("数组a最大值为%f ",max(af,sizeof(af)/sizeof(float)));

getchar();
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: