Modello in c ++

Modello in c ++
In C ++, i modelli sono caratteristiche potenti. Ci consente di scrivere alcuni tipi speciali di programmi. Significa che possiamo creare una singola funzione o una singola classe con diversi tipi di dati vengono utilizzati con l'aiuto dei modelli.

Caratteristiche del modello

  1. Il modello è una parola chiave in C++.
  2. Un modello viene utilizzato per definire il modello di funzione e il modello di classe.
  3. Il modello è una procedura per rendere generalizzate le nostre funzioni o classi per quanto riguarda il tipo di dati.

Classificazione dei modelli

Esistono due tipi di modelli disponibili in C++.

  1. Modello di funzione
  2. Modello di classe.

UN. Esempio di programmazione 1 del modello di funzione

#includere
Utilizzo dello spazio dei nomi std;
void aggiungi (int x, int y)

cout<< “ Sum is :\n ”<< x+y << endl ;

int main ()

Aggiungi (10, 15);
Aggiungi (10.50, 10.25);

Produzione

Spiegazione
Dal programma sopra, sapremo che perché il modello ha bisogno in questo particolare tipo di programma.

Qui, definiamo semplicemente una funzione ADD e due valori interi vengono passati come argomento. Stampa semplicemente la somma di queste due variabili.

All'interno della funzione principale, chiamiamo la funzione Aggiungi e passiamo due valori 10 e 15. Aggiunge semplicemente questi due valori e otteniamo i valori 25.

Ma nella seconda funzione Aggiungi quando passiamo due valori a doppio tipo 10.50 e 10.25, quindi il problema si verifica nel risultato della somma. Perché qui, passiamo due doppi tipi di valori all'interno delle variabili intera. Di conseguenza, viene mostrato un risultato errato.

Per risolvere questo problema, introduciamo il modello.

B. Esempio di programmazione 2 del modello di funzione

#includere
Utilizzo dello spazio dei nomi std;
modello // modello di funzione
C aggiungi (c x, c y)

cout<< “ sum is :\n”<< x+y << endl ;

int main ()

somma (10, 15);
somma (10.50, 10.25);

Produzione

Spiegazione
Dove definiamo la funzione Aggiungi, scriviamo il modello di parole chiave. Quindi nella fascia angolare, scriviamo la parola chiave di classe. Quindi scrivi un titolare di nome C. Successivamente all'interno della funzione Aggiungi in cui abbiamo scritto il tipo di dati intero, tutti questi numeri interi sono sostituiti dal Place Holder C. Questo supporto del luogo C verrà sostituito da un adeguato tipo di dati quando passiamo i valori all'interno della funzione di somma.

Quando passiamo 10 e 15, C viene sostituito dai valori interi ma nel secondo caso in cui passiamo due valori a doppio tipo 1.50 e 10.25, quindi C verrà sostituito dai doppi tipi di dati. È il vantaggio di utilizzare il modello nel programma.

C. Esempio di programmazione 3 del modello di classe

#includere
Utilizzo dello spazio dei nomi std;
Esempio di classe

Privato:
int x, y;
pubblico:
Esempio (int a, int b)

x = a;
y = b;

vuoto test ()

If (x> y)

cout<< x<< “ is the largest number ”<< endl ;

altro

cout<< y<< “ is the largest number ”<< endl ;


;
int main ()

Esempio OB1 (10, 15);
ob1.test () ;
Esempio OB2 (10.50, 10.25)
ob2.test() ;
restituzione 0;

Produzione

Spiegazione
Qui, dichiariamo una classe chiamata esempio. Nella classe, chiamiamo l'esempio del costruttore e passiamo due variabili di tipo intero per assegnare il valore della variabile X e Y. La funzione di test ci mostra quale valore è il più grande.

All'interno della funzione principale, quando passiamo due valori 10 e 15 durante la creazione di oggetto OB, mostra il risultato corretto.

Ma nel caso successivo, quando passiamo due valori del tipo di dati doppi all'interno delle variabili del tipo intero, mostra un risultato errati.

Per risolvere di nuovo questo problema, introduciamo il modello nel prossimo programma.

D. Programmazione Esempio 4 del modello di classe

#includere
Utilizzo dello spazio dei nomi std;
modello
Esempio di classe

Privato:
C x, y;
pubblico:
Esempio (C A, C B)

x = a;
y = b;

vuoto test ()

If (x> y)

cout<< x<< “ is the largest number ”<< endl ;

altro

cout<< y<< “ is the largest number ”<< endl ;


;
int main ()

Esempio OB1 (10, 15);
ob1.test() ;
Esempio OB2 (10.50, 10.25);
ob2.test() ;
restituzione 0;

Produzione

Spiegazione
Prima della definizione della classe di esempio, scriviamo una riga:

Modello < class C >

Come abbiamo discusso in precedenza, il modello è una parola chiave. Quindi all'interno della fascia angolare, scriviamo la classe di parole chiave, quindi un titolare del luogo chiamato C.

Dopodiché ogni tipo di dati intero deve essere sostituito con C.

Quando passiamo due valori dei tipi interi 10 e 15, C viene sostituito dalle variabili interi. Nel caso successivo quando passiamo due valori doppi 10.50 e 10.25, quindi C viene sostituito dal doppio tipo di dati.

Il vantaggio è che per il diverso tipo di dati non scriviamo un codice diverso.

Conclusione

Discutere in dettaglio sul concetto di modello è chiaro per noi che creando il modello possiamo lavorare con diversi tipi di dati in un singolo programma o in un programma generalizza.