Native/C++
templates
aucd29
2013. 10. 2. 19:03
[code]
// Ex5_07.cpp
// Using function templates
#include <iostream>
using namespace std;
// Template for function to compute the
// maximum element of an array
template<class T> T max(T x[], int len)
{
T max = x[0];
for(int i=1; i<len; i++)
if(max<x[i])
max = x[i];
return max;
}
int main()
{
int small[] = { 1,24,34,22};
long medium[] = { 23,245,123,1,234,2345};
double large[] = { 23.0,1.4,2.456,345.5,12.0, 21.0};
int lensmall = sizeof small/sizeof small[0];
int lenmedium = sizeof medium/sizeof medium[0];
int lenlarge = sizeof large/sizeof large[0];
cout << endl << max(small, lensmall);
cout << endl << max(medium, lenmedium);
cout << endl << max(large, lenlarge);
cout << endl;
return 0;
}
[/code]
// Ex5_07.cpp
// Using function templates
#include <iostream>
using namespace std;
// Template for function to compute the
// maximum element of an array
template<class T> T max(T x[], int len)
{
T max = x[0];
for(int i=1; i<len; i++)
if(max<x[i])
max = x[i];
return max;
}
int main()
{
int small[] = { 1,24,34,22};
long medium[] = { 23,245,123,1,234,2345};
double large[] = { 23.0,1.4,2.456,345.5,12.0, 21.0};
int lensmall = sizeof small/sizeof small[0];
int lenmedium = sizeof medium/sizeof medium[0];
int lenlarge = sizeof large/sizeof large[0];
cout << endl << max(small, lensmall);
cout << endl << max(medium, lenmedium);
cout << endl << max(large, lenlarge);
cout << endl;
return 0;
}
[/code]