Advertisement
darkjessy94

template base - by salvDC

Oct 1st, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.59 KB | None | 0 0
  1. #include <iostream>
  2. ///Il template viene definito come un meccanismo in grado di costruire nuovi tipo partendo da quelli già messi a disposizione
  3. ///Il suo reale utilizzo è estremamente utile quando si vogliono realizzare delle interfacce adattabili a molti problemi
  4. ///Supponiamo ad esempio di voler realizzare un Template per trovare il maggiore tra due numeri di un generico tipo <int,float,double,long....>
  5. ///Dichiaro la classe Template
  6. 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"
  7. T maggiore(T a, T b)
  8. {
  9.     return (a>b?a:b);   ///Un semplice return che determina il maggiore e lo restituisce
  10.     ///La scrittura sopra può essere tradotta come: "a è maggiore di b? (?) ritorna il valore a, altrimenti (:) ritorna b"
  11. }
  12. using namespace std;
  13.  
  14. int main()
  15. {
  16.     ///Andiamo a dichiarare le nostre variabili
  17.     int a=5,b=70;
  18.     ///Prova a cambiare il tipo delle variabili e i loro valori
  19.     cout<<"Il maggiore tra i due \x82: "<<maggiore(a,b);
  20.     return 0;
  21. }
  22. /*                          IN SINTESI
  23.     Se hai bisogno di definire una funzione che ha le stesse operazioni
  24.     definite al suo interno ma il tipo in entrata può variare invece
  25.     di usare un overload di funzioni puoi usare un Template.             */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement