       ,       
  c ,     
.   15.10      min()  
m().     ,      .	: 

     15.10.  MINMAX.H (  min  max) 

    1:	// minmax.h --   min   
    2: 
    3:	#ifndef __MINMAX_H 
    4:	#define _MINMAX H 1 //   indlude 
    5: 
    6:	template<class >  max(T ,  b) 
    7:	{ 
    8:	if ( > b)           
    9:	  return a;                                                               
    10:	else                                                                . 
    11:	  return b;                                                              
    12:	} 
    13:	
    14:	template<class T>  min(T ,  b) 
    15:	{                                                                  
    16:	  if (a < b)                                                 .           
    17:	    return a;          
    18;	else                 
    19:	  return b;      
    20:	}                                                                      
    21: 
    22:	#endif //  MINMAX H 

       6.      , 
     m().  ,  m()
    .   ,    
8-11     ,    ,  
    .   min()   . 
          .   
m()       : 

     template<class T1,  class T2> T1 max(T1 a,  T2 b) 

        m()     1,   
  :    1,    2.
     ,   ,     
,        
.   15.11    .

     15.11.  FTEMPLAT.CPP (  ) 

    1:	#include <iostream.h> 
    2:	#include "minmax.h" 
    4:	int max(int a,  int b); 
    5:	double max(double a,  double b); 
    6:	char max(char a,   char b); 
    7:	
    8:	main()       
    9:	{        
    10:	   int i1 = 100,  12 = 200;                                           . 
    11:	  double d1 = 3.14159, d2 = 9.87654; 
    12:	  char c1 =  'A',  c2 = 'z'; 
    13: 
    14:	  cout  "max(i1,   i2) == "  max(i1,  i2)  '\n'; 
    15:	  cout  "max(d1,  d2) == "  raax(d1,  d2)  '\n'; 
    16:	  cout  "nax(c1, c2) ~ "  max(c1, c2)  '\n'\ 
    17:	  return 0;                                                             
    18:	} 

      4-6      m().   
        
 m().   m()       
     .     m()
   14-16.       
 ,   . 


    390      III.   ANSI C++ 
