Introduzione al costruttore di copie in C ++

I linguaggi di programmazione ci forniscono varie funzionalità che possono essere sfruttate per sviluppare l'applicazione. Nel caso delle lingue di medio livello, le funzionalità potrebbero essere inferiori rispetto alle lingue di alto livello, ma qualunque sia la loro opzione è ampia per sviluppare applicazioni significative. In questa sezione, impareremo a conoscere i costruttori di copie. Il costruttore può essere definito come la funzione speciale che ha il nome uguale a quello della classe in cui è stata definita. Il costruttore viene chiamato automaticamente quando viene inizializzato l'oggetto di quella classe. Si potrebbe dire che l'inizializzazione dell'oggetto se la classe chiama implicitamente il costruttore. Se il costruttore è sovraccarico rispetto a quel caso, i valori devono essere passati insieme all'oggetto durante l'inizializzazione. Qui il tipo di costruttore che impareremo è davvero unico e noto come costruttore di copie. Questo costruttore funziona utilizzando altri oggetti anziché valori normali.

Come funziona Copy Constructor in C ++?

Il costruttore di copie può essere definito come il tipo speciale di costruttore utilizzato per dichiarare l'oggetto e inizializzare lo stesso utilizzando altri oggetti. Il costruttore normale ha chiamato quando l'oggetto di quella classe è inizializzato. Se il costruttore è sovraccarico di più parametri rispetto all'inizializzazione dell'oggetto e il passaggio dello stesso numero di argomenti chiamerà il parametro overload. Poiché il costruttore della copia è sovraccarico, potrebbe essere chiamato quando l'oggetto viene inizializzato utilizzando l'argomento e l'argomento deve passare il valore dell'oggetto anziché qualsiasi valore normale.

Una volta trovato il valore ricevuto dal parametro del costruttore di overload, verrà chiamato il costruttore di copie e verrà avviata l'esecuzione dell'insieme di istruzioni definito all'interno del costruttore di copie. Prima di usare il costruttore di copie dobbiamo creare un oggetto della stessa classe. Indica chiaramente l'approccio secondo cui qualsiasi programma destinato a implementare il costruttore di copie dovrebbe anche avere un costruttore predefinito o parametrizzato in modo che l'oggetto possa essere creato, il che aiuterà a coinvolgere il costruttore di copie.

Lo scenario generale può essere considerato sfruttando un oggetto per creare un altro oggetto. Tutti i valori associati all'oggetto utilizzato per inizializzare l'oggetto dal costruttore della copia vengono assegnati all'oggetto appena inizializzato. Ciò significa che se il valore di una variabile viene utilizzato dal primo oggetto, la stessa variabile può essere utilizzata dall'oggetto inizializzato dal costruttore della copia. La funzione di costruttore di copie è considerata molto importante e rende lo sviluppo molto conveniente per alcune applicazioni. Le sue funzionalità per usare il riferimento all'oggetto della stessa classe aiutano a sviluppare l'applicazione che ha i requisiti che possono essere soddisfatti usando solo il costruttore di copie. Sebbene non sia sfruttato spesso come il costruttore predefinito o parametrizzato, è un grande potere contribuire all'aggiunta di nuove funzionalità all'applicazione.

Esempio

Comprendiamo il concetto di costruttore di copie usando l'esempio. Qui lavoreremo su un semplice esempio che ti mostrerà come funziona il costruttore di copie e come può accedere ai valori che sono stati associati all'oggetto usando il quale il nuovo oggetto viene creato dal costruttore di copie. L'illustrazione seguente ti darà un'idea di come sia diverso chiamare il costruttore di copie rispetto al chiamare il costruttore con sovraccarico normale.

Programma

#include
using namespace std;
class Check
(
public:
int val;
Check(int a)
(
val=a;
)
Check(Check &i)
(
val = i.val;
)
);
int main()
(
int add_val;
Check a1(50);
Check a2(a1);
add_val = a2.val + 10;
cout< )
#include
using namespace std;
class Check
(
public:
int val;
Check(int a)
(
val=a;
)
Check(Check &i)
(
val = i.val;
)
);
int main()
(
int add_val;
Check a1(50);
Check a2(a1);
add_val = a2.val + 10;
cout< )

In questo programma, abbiamo chiamato il costruttore con parametri bypassando l'argomento tramite a1. Il valore passato è un numero intero poiché il costruttore con parametri è stato definito per accettare solo numeri interi. Quando il valore 50 viene passato al costruttore, il valore è stato assegnato alla variabile denominata var. Quindi l'oggetto a1 è stato passato al costruttore della copia tramite a2. Una volta ricevuto il riferimento all'oggetto dal costruttore della copia, ha associato il valore allocato con il primo oggetto con l'oggetto appena formato. Questo è un semplice esempio per spiegare il concetto del costruttore di copie. Potrebbe essere utilizzato in molti altri programmi per ottenere varie funzionalità nell'applicazione.

Produzione:

60

Regole e regolamento per il costruttore di copie in C ++

Il costruttore di copie è considerato un po 'diverso dal costruttore predefinito o parametrizzato. Da un lato, dove il costruttore normale funziona utilizzando il valore del tipo di dati comune, dall'altro lato, il costruttore della copia funziona utilizzando l'oggetto precedentemente creato della stessa classe. La cosa che deve essere garantita durante l'utilizzo del costruttore di copie è che i parametri passati attraverso il costruttore di copie dovrebbero essere usati insieme a un segno e commerciale (&) in quanto è un carattere speciale che viene utilizzato per contenere il riferimento all'oggetto. Se la e commerciale non viene utilizzata durante l'implementazione del costruttore di copie, non sarà più un costruttore di copie ma verrà automaticamente considerato come un costruttore con parametri.

Quando si tratta di chiamare il costruttore della copia, dobbiamo accertarci che il valore passato come argomenti debba contenere il riferimento all'oggetto anziché qualsiasi valore che appartiene al tipo di dati comune. Queste sono le poche cose che devono essere considerate in modo molto preciso durante l'implementazione del costruttore di copie nel linguaggio di programmazione C ++. Inoltre, ogni volta che utilizziamo il costruttore di copie, dobbiamo assicurarci di differenziarlo correttamente dal costruttore con parametri, poiché in caso contrario ciò cambierà totalmente la funzionalità del programma e porterà a una generazione errata dell'output.

Conclusione

Il costruttore di copie è considerato come un tipo speciale di costruttore che funziona utilizzando il riferimento all'oggetto della stessa classe. È usato per portare diverse funzionalità nell'applicazione. Se confrontato con il costruttore predefinito, il costruttore di copie non viene utilizzato molto spesso nei programmi semplici ma quando si tratta di sviluppare applicazioni complesse che devono essere distribuite nell'ambiente di produzione, il costruttore di copie viene utilizzato lì e rende anche lo sviluppo di applicazioni abbastanza conveniente .

Articoli consigliati

Questa è una guida per i costruttori di copie in C ++. Qui discutiamo dell'introduzione e di come funziona il costruttore di copie in C ++ insieme alle regole e al regolamento per il costruttore di copie in C ++. Puoi anche consultare i seguenti articoli per saperne di più -

  1. Costruttore di copie in Java
  2. Copia costruttore in C #
  3. Costruttore in C ++
  4. Uso del costruttore in C
  5. Tipi di costruttore in C # con implementazione del codice

Categoria: