Function C++

#include 
using namespace std;
template
void copy(TYPE a[], TYPE b[], int n)
{
   for (int i = 0; i < n; ++i)
      a[i] = b[i];
}
template
void print(TYPE a[], int n)
{
   cout << "\nNEW PRINT =";
   for (int i = 0; i < n; ++i)
      cout << a[i] << " ";
}
int main()
{
   double  f1[50], f2[50];
   char    c1[25], c2[50];
   int     i1[75], i2[75];
   int     i;
   for (i = 0; i < 50; ++i) { //init arrays
      f1[i] = 1.1 + i;
      f2[i] = 2.2 * i;
      c2[i] = 'A' + i/5;
   }
   for (i = 0; i < 25; ++i) { //init arrays
      c1[i] = 'a' + i/8;
   }
   for (i = 0; i < 75; ++i) { //init arrays
      i1[i] = 2 * i;
      i2[i] = i * i;
   }
   print(f1, 20);    //print initial values
   print(f2, 20);
   print(i1, 20);
   print(i2, 20);
   print(c1, 20);
   print(c2, 20);
   copy(f1, f2, 50);
   copy(c1, c2, 10);
   copy(i1, i2, 40);
   print(f1, 20);    //print initial values
   print(f2, 20);
   print(i1, 20);
   print(i2, 20);
   print(c1, 20);
   print(c2, 20);
}