c++関数テンプレートの使用

913 ワード

#include //       
//#define max(a,b)((a) > (b)?(a):(b))   
using namespace std;
template
type max(type a,type b) //           
{
 return (a > b) ? a : b;
}
char *max(char * a, char *b) //      
{
 if (strcmp(a, b))
  return a;
 else
  return b;
}
void main() 
{
 double a, b;
 cin >> a >> b;
 cout << max(a, b) << endl;
}
//Example 2
template //        
type Max(type array[len]) //      
{
 type ret = array[0];//      
 for (int i = 1; i < len; i++) //      
 {
  ret = (ret > array[i]) ? ret : array[i];//         
 }
 return ret;//     
}
void main() 
{
 int array[5] = {1,2,3,4,5};//         
 int iret = Max(array);//      Max
 double dset[3] = {10.5,11.2,9.8};//      
 double dret = Max(dset);//      Max
 cout << dret << endl;
}