Witam, przedstawiam metodę wykorzystania szablonów funkcji w celu stworzenie uniwersalnego (niezależnego od typu) wzorca funkcji.
#include <iostream>
/*
Szablon funkcji. Pozwala na stworzenie uniwersalnego szablonu działającego dla
każdego typu.
*/
template <class typ>
void pisz(typ a)
{
std::cout<<a <<"\n";
}
template <class typ1, class typ2>
void Suma(typ1 a, typ2 b)
{
std::cout<<"suma to: \n" <<a+b;
}
int main ()
{
pisz(12.37); //wywołanie funkcji pisz dla typu double
pisz("Teraz String"); //teraz dla argumentu będącego C-stringiem.
Suma('a', 'c'); //wywołanie funkcji Suma dla dwu argumentów typu znakowego
Suma(10, 27); //teraz dla argumentów będącymi liczbą całkowitą.
Ot cała filozofia szablonów. Wzorce projektowe to bardzo przydatna rzecz. Pozawalają uporać się z wieloma problemami w bardzo szybki i elegancki sposób.
}




