Let’s suppose you would like to find the sum of integer elements and the sum of floating elements then in that case, you need to create two separate functions

But, what if

If we can create only one function template to do both the jobs of different array functions

Here’s an example

#include <iostream> using namespace std; template<class T, class S> T sum(T a[], S n) { T s=0; for(int i=0;i<n;i++) { s=s+a[i]; } return s; } int main() { int x[5]={10,20,30,40,50}; float y[3]={1.2,2.2,3.3}; cout << "Integer elements sum" <<sum(x,5)<< endl; cout << "Float elements sum" <<sum(y,3)<< endl; return 0; }

**Output**

Integer elements sum: 150 Float elements sum: 6.7

**Note**: the template class T is for array type while the class S is for int type because the size of an array will always be an integer

## Leave a Reply