index2d53




[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:
index2
index2
INDEX273
index2
index2bz
index2
index2c
index2
index2
index2

więcej podobnych podstron