CS202   7- ‹#›
Function Templates
n//Prototype:
ntemplate <class TYPE1, class TYPE2>
nvoid array_copy(TYPE1 dest[], TYPE2 source[], int size);
n//A later definition:
ntemplate <class TYPE1, class TYPE2>
nvoid array_copy(TYPE1 dest[], TYPE2 source[], int size) {
n  for(int i=0; i < size; ++i)
n    dest[i] = source[i];
n}
n
n//The client can call this function using:
nint int_array1[100], int_array2[100], int_array3[20];
nfloat real_array[100];
nchar char_array[20];
narray_copy(int_array1, int_array2, 100);
narray_copy(int_array3, int_array1, 20);
narray_copy(real_array, int_array1, 100);
narray_copy(int_array1, char_array, 20);
n