You are on page 1of 1

Jeżeli chcemy zdefiniować kilka klas o tej samej implementacji, różniących się

jedynie typami danych wówczas należy zastosować szablony klas. Problem ten
również występuje, jeżeli w obrębie klasy zdefiniowano zmienne i funkcje
wewnętrzne klasy różniące się jedyni typem argumentów lub typem
zwracanym. W takich przypadkach mamy do czynienia po pierwsze z
nadmiernym rozbudowaniem kodu, a po drugie z potencjalnymi problemami w
przypadku konserwacji (pielęgnacji) kodu.
Problemy te zostały rozwiązane przy pomocy szablonów klas (class template).
Szablony klas są parametryzowane za pomocą parametrów szablonowych,
których rolę odgrywają uogólnione typy danych (generic data types).
Definicja szablonu klasy:
template <typename T>
class Nazwa_klasy
{
//ciło klasy
}

Szablon może mieć jeden lub wiele parametrów szablonowych. Deklaracje


metod można umieszczać w ciele klasy lub poza ciałem klasy - wówczas przy
definicji metody należy użyć kodu:
template <typename T>
typ_zwracany Nazwa_klasy<T>::nazwa_funkcji(parametry)
{
//ciło funkcji (metody)
}

You might also like