Шаблони

Шаблоните създават обобщени функции и класове, които не зависят от типа данни
които ще използваме.

Шаблонни функции
Деклариране :
         template < class Т_name>
Т Т1_ime (параметри)
      {
        тяло на самата функция ;
      }

Т_name - Име на шаблона;
Т1_ime - Име на функцията;
параметри - списък от параметри на функцията;
Т пред името на функцията(Т1_ime) е типа данни връщани от самата функцията;

Пример : за създаване на шаблон Т и функция Max за намиране на по-голямото от две числа.
template< class T>
T Max(T a, T b)
{
return (a>b?a:b);
}

Пример 1 : Цялата програма за намиране на по-голямото от две числа.

#include <iostream> //for Code Blocks
using namespace std;
template < class T>
T Max(T a, T b)
{
if (a>b)
return (a);
else return (b);
}
int main()
{
int k=5,l=10,m;
float c=5.5,d=6.6,e;
m=Max(k,l);
e=Max(c,d);
cout<< m<< endl;
cout<< e<< endl;
return 0;
}
Пример 2 : Програма за намиране на по-голямото от две числа,
но числата са от различни типове: първото е float,второто int .

#include <iostream> //for Code Blocks
using namespace std;
template < class X, class T>
X Max(X a, T b)
{
return (a> b?a:b);
}
int main()
{
float x;
int y;
cin>>x;
cin>>y;
cout<< Max(x,y)<< endl;
return 0;
}


Благодаря за вниманието Ви !