acquisire familiarità con la sintassi modello se non siete già . Per dichiarare una classe modello , inserire la seguente riga di codice immediatamente sopra la dichiarazione di classe , come illustrato : 
  template 
 class Complex { 
 //ecc .. 
 
 2 
 noti che " template " e "classe" sono parole chiave . "T" è il nome assegnato al tipo di dati generico . T può assumere la forma di un int , float o doppio . È sempre necessario racchiudere "classe" e "T" tra parentesi angolari . È inoltre possibile utilizzare la parola chiave " typename " al posto di " classe". Anche se queste parole hanno un significato un po 'diverso in C + + , per i fini di questa esercitazione , sono equivalenti . 
 3 
 Usare " T" nella dichiarazione corpo della classe in cui si desidera l'elaborazione generico . Dati gli "reale" e " imag " sono di tipo T , perché possono assumere l'identità di qualsiasi tipo di numero. La funzione di membro Real ( ) è un prototipo con T perché può restituire numeri di tipo int , float o double : 
  template 
 class Complex { 
 T reale , imag ; 
 pubblico : 
 Complex ( const T r , const T i ) : real ( ( T ) 0 ) , ( ( T) 0 ) { } T real ( ) const ; 
 //ecc .. 
 
 4 
 Ripetere la definizione del modello per ogni funzione membro definito al di fuori del corpo della classe . Inoltre, inserire il parametro T dentro parentesi angolari e inserirlo tra il nome della classe e l'operatore di ambito , come segue : 
  template 
 T Complex < T > :: Real ( ) const { 
 ritorno reale ; 
 } 
 5 
 Dimostrare un oggetto complesso che utilizza int e uno che usa float: 
  int main ( ) { 
 Complesso ni ( 4 , -5 ) ; //modulo 4 - J5 
 Complesso nf ( 4.f , - 5.f ) ; //modulo 4.0 - j5.0 
 cout cout } 
 6 
 Scopri come utilizzare le classi contenitore come vettore < T > e algoritmi come copy () . Studiare la STL . Dal momento che la Standard Template Library è una libreria generica costruzione di modelli , è un ottimo posto per imparare a costruire classi generiche utilizzando i modelli . 
 
              
Programmazione © www.354353.com