[Kurs C++] XXXIII. Szablony - ogólnie i szablony funkcji
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
var pageTracker = _gat._getTracker("UA-3650348-1");
pageTracker._initData();
pageTracker._trackPageview();
Serwis został przeniesiony pod nową domenę: http://cpp0x.pl/ Strona główna Kursy Artykuły Forum Pliki Promuj Nas! PowrótHistoria odwiedzonych stronPoprzednia lekcjaKurs C++Następna lekcjaSzablonyWstępW 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 SzablonuPrzed 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 praktykaZapodam kod, w komentarzach wyjaśnię:#include <iostream>using namespace std; //nasz kochany namespace :Dtemplate<class klasa> //używamy szablonuklasa 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 templateklasa 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}Poprzednia lekcjaKurs C++Następna lekcjaWszelkie prawa zastrzeżone. Autor: DeBuggerWszystkie teksty są chronione prawami autorskimi. Kopiowanie lub rozpowszechnianie treści bez wyraźnej zgody jego autora jest zabronione.PowrótHistoria odwiedzonych stronPanel LogowaniaLogin:Hasło:Zapamiętaj mnie!Zarejestruj sięOdzyskiwanie hasłaUżytkownikówObecnie aktywnych:12Zalogowanych:0Zarejestrowanych:4367Ostatnie 24h:413Non-cookie 24h:3190Wszystkich:264759Ostatnia Aktualizacja2010-11-23 00:46:20 (39 dni temu)Ostatnio aktywniHandy9020 godzPiotr Szawdyński21 godzFletcher37 godzwiew39 godzPietrzuch40 godzmat250148 godzbooncki51 godzRaver73 godzWynajem Sopot - wakacjePokój 2 osobowy 130zł/doba;Lokalizacja: Sopothttp://sopotwynajem.pl
O portaluArchiwumHistoriaIndeksRegulaminWyszukiwarkaLinkiRestauracja "ATOL" - Sopot© Wszelkie prawa zastrzeżone 2005-2011Czas wygenerowania strony: 0.081sAutor: Piotr Szawdyński
Wyszukiwarka
Podobne podstrony:
index2index2INDEX273index2index2bzindex2index2cindex2index2index2więcej podobnych podstron