« Szablony funkcji, lekcja »
Co to są szablony funkcji i jak z nich korzystać. (lekcja)
Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Zarejestruj się!
Autor: 'DeBugger'
Kurs C++

Szablony funkcji

[lekcja] Co to są szablony funkcji i jak z nich korzystać.

Wstęp

W tej i dwóch następnych lekcjach opiszę szablony. Dzięki nim możemy napisać program, bez początkowego uwzględniania typów. Jest wykorzystywany w metaprogramowaniu. Oprócz języka C++ można go użyć w języku D. Aby użyć szablonu, trzeba najpierw zadeklarować jego instancję.

W dzisiejszej lekcji omówimy tylko szablony funkcji i po co w ogóle są.

Deklaracja Szablonu

Przed każdą funkcją, strukturą czy klasą musimy dokonać konkretyzacji szablonu(tworzenie instancji - konkretyzacja to ten proces). Każdą konkretyzację zaczynamy od słówka template.
Przykład deklaracji szablonu:
template < class klasa, int ilosc >
Jak można się domyślić, deklarujemy w szablonie typ zwracanej zmiennej i ilość danego elementu. To tak dla przykładu.

Szablony funkcji - teoria i praktyka

Zapodam kod, w komentarzach wyjaśnię:
C/C++
#include <iostream>
#include <cstdio>
using namespace std; //nasz kochany namespace :D
template < class klasa > //używamy szablonu
klasa pierwiastek( klasa liczba ) //nowa funkcja z typem zwracalnym, jaki podaliśmy w template
{
    klasa liczba_pierwiastka =( liczba * liczba ); //kto nie lubi liczenia ;)
    return liczba_pierwiastka;
}
template < class klasa > //znów template
klasa a_plus_b_minus_c( klasa a, klasa b, klasa c ) //nowa funkcja z typem zwracalnym, jaki podaliśmy w template
{
    klasa wynik =( a + b - c ); //nowa zmienna
    return wynik;
}
int main()
{
    double liczba1 = pierwiastek < double >( 3.9 ); //przypisujemy wartość zmiennej
    cout << liczba1 << endl;
    int liczba2 = a_plus_b_minus_c < int >( 9, 2, 1 ); //tu też
    cout << liczba2 << endl;
    getchar(); //funkcja odczytująca klawisz
}
Poprzedni dokumentNastępny dokument
Unia w C++Szablony struktur