最大数max     两个数
#include <iostream>
using namespace std;

template <class T>              //template <typename T>

T Max (t1,T t2)      
 {   return t1>t2 ? t1:t2 ;    }

int main()
{
    int a=3,b=4;
    double x=5.9,  y=  -56.9;
    char c1='A'   ,     c2='F';
    
    cout <<Max(a,b)<<endl;
    cout <<Max(x,y)<<endl;
    cout <<Max(c1,c2)<<endl;
    return 0;
}



#include <iostream>
using namespace std;
template <class T> 

class test                                
{   
T x,y;
 public:

T Max ( )               {  return x >y ? x : y ; }

test ( T xx , T yy)     {   x =xx ;  y=yy ; }
    
};


int main()
{
    char c1,c2;      cin >>c1>>c2;    test <char> t1(c1,c2)   ;
    int a,b ;          cin >>a>>b ;       test <int> t2(c1,c2)    ;
    double x,y;       cin >>x>>y ;    test <double> t3(c1,c2) ;
    
    cout <<t1.Max( )<<endl;
    cout <<t2.Max( )<<endl;
    cout <<t3.Max( )<<endl;
    return 0;
}




数组

#include <iostream>              
using namespace std;               
template <class T>                   
class test                          
{                                
public:                                                         
    T Max;                       

    test(T a[],int n)         
    {                     
        int i;                  
        Max=a[0];                    
        for (i=0;i<n;i++)            
 Max =max( a[i] , Max)      ;                            
      
  }                             
};                           
   
                            
 int main()   
{    
int In[100],i,n;
 
    cin>>n;
    for (i=0;i<n;i++)
    cin>>In[i];
    test <int> x(In,n);
    
cout <<x.Max<<endl; 
}





#include <iostream>              
using namespace std;   
            
template <class T>                   
class test                          
{                                
 public:                                                         
    T Max;                       
  test(T a[],int n)         
  {                     
        int i; 
                         
        Max=a[0];                    
        for (i=0;i<n;i++)                                         
   if( a[i]>Max)   Max=a[i];     
  }                             
};                           
                             
 int main()   
{    
int In[100],i,n;
 
    cin>>n;
    for (i=0;i<n;i++)
    cin>>In[i];
 test <int> x(In,n);
    
cout <<x.Max<<endl; 
}









#include <iostream>              
using namespace std;               
template <class T>                   
class test                          
{  
int len    ;
                              
public:                                                        
    T Max;                       
    test(T a[],int n)         
    {                     
        int i;                  
        Max=a[0];                    

        for (i=0; i<len; i++)                                      
              if( a[i]> Max)   Max=a[i];     
  }                             
};                           

 int main()   
{    
int a[100],i,n;
 double b[100];
    
cin>>n;
    for (i=0;i<n;i++)
    cin>>a[i];
    test <int> c (a,n);

 
cin>>m;
    for (i=0;i<n;i++)
        cin >>b[i];
    test <double> d(b,n);

    cout << c.Max <<"  "<< d.Max <<endl;

}


**************************************************************************
#include <iostream>
using namespace std;
template <class T>
class Test
{   
    T x[100];
    int len;
    
public:   
   Test(int n)
    {    int i;
            len=n;
           for (i=0; i<len; i++)    cin>>x[i];
      }

 T Max( )
    {       int i;

        T mx=x[0];        
           for (i=1; i<len; i++)   
               if ( x[i]>mx ) mx=x[i];
        return mx;
    }
};


int main()
{    
         int m,n;
    cin>>n;    Test <int>    t1(n);          cout<< t1.Max()<<endl;
    cin>>m;    Test <double> t2(m);    cout<< t2.Max()<<endl;
    return 0;



#include <iostream>
using namespace std;
template <class T>

class test
{
  public:

    T Max;
    test(T a[],int n)
    {
        int i;

        Max=a[0];
        for (i=0;i<n;i++)
            Max<a[i]? Max=a[i]:1;                       // Max<a[i] ?  Max=a[i] 赋值  : Max;
    }                                                                  //  if( Max<a[i] )   Max=a[i];
};



int main()
{
    int a[100]  ,      i,n;
    double b[100];


    cin>>n;
    for (i=0;i<n;i++)
    cin>>a[i];
    
    test <int> c (a,n);


    cin>>n;
    for (i=0;i<n;i++)
        cin >>b[i];

    test <double> d(b,n);

    cout << c.Max <<"  "<< d.Max <<endl;

}

***********************************************************************************************************************************************************************************************************************************************************************

#include <iostream>              
using namespace std;   
            
template <class T>                   
class test                          
{                                
public:                            
                                  
    T Max;                       
    
    test(T a[],int n)         
    {                     
        int i;                  
    
        Max=a[0];                    

        for (i=0;i<n;i++)            
                               
  if( a[i]>Max)        Max=a[i];     
  }                             
};                           
                            
                          


 int main()   
{    
int a[100],i,n;
 double b[100];
    
    for (i=0;i<n;i++)
    cin>>a[i];
    test <int> c (a,n);
cin>>n;

    cin>>n;
    for (i=0;i<n;i++)

        cin >>b[i];
    test <double> d(b,n);

    cout << c.Max <<"  "<< d.Max <<endl;

}











#include <iostream>              
using namespace std; 
              
template <class T>                   
class test                          
{                                
 public:                            
                                  
    Max;                       
    test(T a[],int n)         
    {                     
        int i;                  
    
        Max=a[0];                    

        for (i=0;i<n;i++)            
                               
  if( a[i]>Max)   Max=a[i];     
  }                             
};                           
                            
                          


 int main()   
{    
int In[100],i,n;
 double Dou[100];
    
    for (i=0;i<n;i++)
    cin>>In[i];
    test <int> x(In,n);
cin>>n;

    cin>>n;
    for (i=0;i<n;i++)

        cin >> Dou[i];
    test <double> y(Dou,n);

    cout << x.Max <<"  "<< y.Max <<endl;
}