template < typename ElementType > void out_array ( const ElementType * arr , size_t arrSize )
/ for ( size_t i = 0 ; i < arrSize ; ++i )
std::cout << arr[i] << ' ' ;
std::cout << std::endl ; \
int main ()
/ const size_t n = 5 ;
int arr1 [ n ] = / 10 , 5 , 7 , 3 , 4 \ ;
double arr2 [ n ] = / 7.62 , 5.56 , 38.0 , 56.0 , 9.0 \ ;
std::cout << "Source arrays:\n" ; out_array ( arr1 , n ) ;//Компилятор сам выведет параметр шаблона исходя из первого аргумента функции out_array ( arr2 , n ) ;
\
template < typename T > void my_swap ( T & first , T & second ) //T - тип, указанный в параметре шаблона
{ T temp(first) ; //временная переменная должна быть того же типа, что и параметры
first = second ;
second = temp ; \
my_swap<int> ( a , b ) ; //в main