Dzisiaj jest 18 stycznia 2025 r.
Chcę dodać własny artykuł

Szablon funkcji

Szablon funkcji w C++

Szablon funkcji, znany również jako funkcja szablonowa, to mechanizm w języku C++, który umożliwia automatyczne generowanie funkcji dla różnych typów danych.

Przykład deklaracji


template // deklaracja funkcji szablonowej
T add (T par1, T par2) {
return par1 + par2;
}

int main() {
int a = 5;
int b = 8;
int c = add(a, b);

float d = 3;
float e = 4;
float f = add(d, e);

return 0;
}

W powyższym przykładzie, funkcja add jest zadeklarowana jako szablon, co pozwala na jej użycie dla różnych typów danych. Kompilator generuje odpowiednie funkcje w zależności od dostarczonych typów.

Funkcja specjalizowana

Możliwe jest również jawne zdefiniowanie specjalizacji szablonu dla konkretnych typów. Taka deklaracja musi być umieszczona przed wywołaniem funkcji.


template
T function (T a, T b) {
return a + b;
}

void function (char c, char d) {
cout << "npodaj znak dla c: "; cin >> c;
cout << "npodaj znak dla d: "; cin >> d;
cout << "npodałeś znaki " << c << " i " << d << endl; }int main() { int a2 = 4, b2 = 5; cout << function(a2, b2); char c2, d2; function(c2, d2); }

Właściwości szablonów funkcji

  • Parametry szablonu nie zawsze muszą być określane w wywołaniu funkcji. Kompilator może automatycznie dopasować typy, co pozwala na wywołanie funkcji jako add(a, b) zamiast add(a, b).
  • Podmiana parametrów formalnych odbywa się tylko w kontekście ich użycia. Na przykład, parametr T nie zostanie podmieniony w nazwach zmiennych czy łańcuchach tekstowych.

Szablony funkcji w C++ są potężnym narzędziem, które zwiększa elastyczność i ponowne wykorzystanie kodu, co jest kluczowe w programowaniu obiektowym.