Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- ///Il template viene definito come un meccanismo in grado di costruire nuovi tipo partendo da quelli già messi a disposizione
- ///Il suo reale utilizzo è estremamente utile quando si vogliono realizzare delle interfacce adattabili a molti problemi
- ///Supponiamo ad esempio di voler realizzare un Template per trovare il maggiore tra due numeri di un generico tipo <int,float,double,long....>
- ///Dichiaro la classe Template
- template <class T> ///T viene definito come nuovo tipo NB:RICORDA! In c++ il concetto di tipo è legato a quello di classe, infatti in c++ il "tipo" è vista come una classe base che va a definire il contenuto della variabile e i metodi definiti su di essa "Pensa semplicemente agli overload di operatori, il + tra due int è diverso dal + tra due float, o ancora, la rappresentazione degli int è diversa da quelli dei float"
- T maggiore(T a, T b)
- {
- return (a>b?a:b); ///Un semplice return che determina il maggiore e lo restituisce
- ///La scrittura sopra può essere tradotta come: "a è maggiore di b? (?) ritorna il valore a, altrimenti (:) ritorna b"
- }
- using namespace std;
- int main()
- {
- ///Andiamo a dichiarare le nostre variabili
- int a=5,b=70;
- ///Prova a cambiare il tipo delle variabili e i loro valori
- cout<<"Il maggiore tra i due \x82: "<<maggiore(a,b);
- return 0;
- }
- /* IN SINTESI
- Se hai bisogno di definire una funzione che ha le stesse operazioni
- definite al suo interno ma il tipo in entrata può variare invece
- di usare un overload di funzioni puoi usare un Template. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement