Szablony funkcji

Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 3748 razy

Szablony funkcji dodają nowej funkcjonalności programowej, tworzy się je za pomocą słowa kluczowego template oraz typename do tworzenia znaczników typów danych szablonu funkcji. Przykładowy kod szablonu funkcji dzielącej jedną wartość przez drugą:

#include <iostream> using namespace std; template // oznacza, że to będzie szablon funkcji <typename typ> // wewnątrz nawiasów <> zapisuje się deklaracje typów (może być ich wiele oddzielonych przecinkami) typ // zwracana wartość typ Division(typ a // zmienna typu typ , typ b // zmienna typu typ ){ return a / b; } int main(){ cout<<"3.5 / 5 = "<<Division<int>(3, 4)<<endl<<endl; // to wywołanie sprawi, że kompilator utworzy automatycznie kod funkcji int Division(int a, int b){return a*b;} cout<<"3.5 / 5 = "<<Division<double>(3.5, 5.)<<endl<<endl; // to wywołanie sprawi, że kompilator utworzy automatycznie kod funkcji double Division(duble a, double b){return a*b;} cout<<"Wcisnij dowolny przycisk, aby zamknac program..."; cin.get(); return 0; }

Kompilator widząc szablon funkcji, oraz mając zadeklarowany konkretny szablon funkcji tworzy dany egzemplarz funkcji zwracający i pobierający dany typ zmiennych. Dzięki takiemu rozwiązaniu programista nie musi tworzyć iluś tam wersji funkcji, aby poprawnie realizować swój projekt, a jedynie wykorzystywać konstrukcję szablonową wszędzie tam, gdzie jest to potrzebne. Warto też zwrócić uwagę na to, że wynikiem działania funkcji pierwszej będzie 0 ponieważ działanie to jest wykonywane na liczbach całkowitych i program zaokrągla wartość w dół. W przypadku drugiej funkcji zwrócona zostanie wartość 0.7 (czyli jak najbardziej poprawna).

Propozycje książek
tytuł: C++  Zbiór zadań z rozwiązaniami autor: Tomasz Jaśniewski

Tytuł:

C++ Zbiór zadań z rozwiązaniami

Autor:

Tomasz Jaśniewski

tytuł: Mikrokontrolery dla hobbystów. Projekty DIY w języku C i C++ autor: Miguel Angel Garcia-Ruiz, Pedro Cesar Santana Mancilla

Tytuł:

Mikrokontrolery dla hobbystów. Projekty DIY w języku C i C++

Autor:

Miguel Angel Garcia-Ruiz, Pedro Cesar Santana Mancilla

tytuł: Architektura oprogramowania bez tajemnic. Wykorzystaj język C++ do tworzenia wydajnych aplikacji i systemów autor: Adrian Ostrowski, Piotr Gaczkowski

Tytuł:

Architektura oprogramowania bez tajemnic. Wykorzystaj język C++ do tworzenia wydajnych aplikacji i systemów

Autor:

Adrian Ostrowski, Piotr Gaczkowski

tytuł: Wprowadzenie do C++ autor: Michał Matlak

Tytuł:

Wprowadzenie do C++

Autor:

Michał Matlak

tytuł: Opus magnum C++ 11. Programowanie w języku C++. Wydanie II poprawione (komplet) autor: Jerzy Grębosz

Tytuł:

Opus magnum C++ 11. Programowanie w języku C++. Wydanie II poprawione (komplet)

Autor:

Jerzy Grębosz

tytuł: Programowanie wieloplatformowe z C++ i wxWidgets 3 autor: Bartosz W. Warzocha

Tytuł:

Programowanie wieloplatformowe z C++ i wxWidgets 3

Autor:

Bartosz W. Warzocha

tytuł: Język C++ i przetwarzanie współbieżne w akcji. Wydanie II autor: Anthony Williams

Tytuł:

Język C++ i przetwarzanie współbieżne w akcji. Wydanie II

Autor:

Anthony Williams

tytuł: C++ dla bystrzaków. Wydanie VII autor: Stephen R. Davis

Tytuł:

C++ dla bystrzaków. Wydanie VII

Autor:

Stephen R. Davis

tytuł: Tablice informatyczne. Podstawy C++ autor: Radosław Sokół

Tytuł:

Tablice informatyczne. Podstawy C++

Autor:

Radosław Sokół

tytuł: Opus magnum C++11. Programowanie w języku C++ (komplet) autor: Jerzy Grębosz

Tytuł:

Opus magnum C++11. Programowanie w języku C++ (komplet)

Autor:

Jerzy Grębosz

W związku z tym, że firma Helion nie wywiązuje się z swoich zobowiązań naliczania prowizji za każdą zakupioną książkę a kontakt z ową frmą jest nie możliwy autor strony zmuszony został do zablokowania linkowania książek. Za wszelkie niedogodności z tym związane z góry przepraszam i obiecuję włączenie linkowania gdy tylko sprawa zostanie wyjaśniona