多态之参数多态:模板的应用

函数模板可以用来创建一个通用的函数,以支持多种不同形参,避免重载函数的函数体重复设计。它的最大的特点就是吧函数实用的数据类型作为参数。
定义的一般形式:
template <class 数据类型参数标示符>
函数返回值类型  函数名(参数表)

函数体  
}
例如:
templat <class T1,class T2>
T1  fun(T1 a,T2 b)
{   T2=d;
、、、、、、
}
如果主调函数中有:
int x; double y;
、、、、
fun(x,y);
则系统将用实参x的数据类型int和y的数据类型double的代替函数模板中的T1和T2,生成模板函数
int fun(int  a,double  b)
{ double d;
、、、、
}
# include <iostream.h>
# include <string.h>
template <class T>
T min(T a,T b)
{ return (a<b?a:b) ; }

char * min(char*a,char *b)
{ return (strcmp(a,b)<0?a:b);  }

void main()
{ cout<<min(3,-10)<<endl;
  cout<<min(2.5,99.5)<<endl;
  cout<<min('m','f')<<endl;
  char *str1="The C program ",*str2="The C++ program";
  cout<<min(str1,str2)<<endl;
}

Fight fight fight ! 你有你的奇迹 ! Fight fight fight ! Just to be yourself !
原文地址:https://www.cnblogs.com/sjlove/p/3168654.html