Function Templates Handling - Example 10-4 - A function template using an array

// File: ex10-4.cpp

#include <iostream>
using namespace std;

template <typename T> double average(T* n,int size)
{
	double sum = 0;
	for (int i = 0; i < size; i++) sum += *(n+i);
	return sum/size;
}

int main(void)
{
	int x[5] = {2,4,7,8,9};
	double y[3] = {7.8,9.1,0.9};
	unsigned short z[4] = {2,4,6,8};
	cout << average(x,5) << endl;
	cout << average(y,3) << endl;
	cout << average(z,4) << endl;

	return 0;
}
/***** Output *****
6
5.93333
5
********************/