Introduzione al costruttore e distruttore in C ++
- Costruttore e distruttore in C ++ svolge un ruolo significativo in un linguaggio di programmazione orientato agli oggetti come C ++. Poiché abbiamo Class e i suoi oggetti in C ++ durante la creazione del nuovo oggetto ogni volta che il costruttore può essere utilizzato per inizializzare l'oggetto, mentre quando l'oggetto sta per distruggere il distruttore può essere utilizzato per eseguire le operazioni di post richieste.
- Quando creiamo un oggetto di una classe in C ++, potremmo voler inizializzare i campi di classe con alcuni valori predefiniti o determinati. Una classe ha i suoi campi e metodi. I campi sono principalmente variabili o oggetti. Assegnando valori predefiniti a questi campi, semplifichiamo la nostra programmazione. Il costruttore è come una normale funzione all'interno della classe e il compilatore lo chiama automaticamente quando creiamo un nuovo oggetto di quella classe. Durante la creazione dell'oggetto passiamo effettivamente i valori richiesti come argomento all'oggetto, questi argomenti vengono passati al costruttore della classe. I valori degli argomenti ora possono essere assegnati ai campi corrispondenti, che sono disponibili in classe. Inoltre, possiamo assegnare valori predefiniti ai campi in cui non passiamo gli argomenti. Esistono quindi diversi tipi e modi con cui inizializziamo il costruttore in C ++.
- Il costruttore è come una funzione membro speciale di una classe. Ogni volta che creiamo un nuovo oggetto viene eseguito il costruttore. La sintassi di un costruttore è molto semplice, la funzione avrà lo stesso nome di quella della classe in cui è definita e non avrà alcun tipo di ritorno, neppure nulla. I costruttori sono molto utili nell'assegnare determinati valori a determinati membri della classe. Il costruttore può essere utilizzato per eseguire la logica relativa alla classe al momento dell'istanza.
Sintassi del costruttore
class Box (
public:
int height;
//constructor
Box () (
// member initialization
)
)
Il distruttore in C ++ è anche una funzione membro speciale in classe. Il distruttore viene chiamato automaticamente dal compilatore e viene eseguito ogni volta che l'oggetto di quella particolare classe esce dall'ambito o viene eliminato utilizzando l'espressione di eliminazione per il puntatore di quell'oggetto. Ogni volta che l'oggetto viene distrutto da un compilatore, viene chiamato il distruttore. In distruttore, possiamo eseguire istruzioni che possono essere qualsiasi cosa che vogliamo eseguire quando l'oggetto esce dall'ambito. Le post-operazioni come la chiusura delle connessioni, la chiusura dei file, ecc. Sono alcuni degli esempi che possiamo eseguire nel distruttore.
Sintassi di Destructor
class Box (
public:
int height;
//destructor
~Box () (
// post statements
)
)
La sintassi del distruttore è molto simile al costruttore. Avrà lo stesso nome di quello della classe in cui è definito e non avrà alcun tipo di ritorno. Tuttavia, avrà solo il segno ~ (tilde) prima del nome del distruttore. Di solito, il distruttore viene utilizzato per deallocare la memoria allocata dinamicamente per la classe e i suoi membri. I distruttori sono molto utili per eseguire operazioni post, che possono essere eseguite dopo la logica aziendale.
Perché abbiamo bisogno di un costruttore e distruttore in C ++?
C ++ è un linguaggio di programmazione orientato agli oggetti. In qualsiasi linguaggio di programmazione orientato agli oggetti, mappiamo entità originali della vita reale con la classe e gli oggetti.
Capiamo perché abbiamo bisogno di un costruttore e di un distruttore in C ++ con l'esempio della vita reale. Supponiamo di avere un'entità Box e di aver creato una classe per essa e che conterrà anche oggetti che possono essere utilizzati in altre parti. Ora la scatola avrà determinati parametri come altezza, lunghezza, larghezza, ecc. E ogni volta che creiamo un oggetto della classe Box, vogliamo che prenda un valore predefinito. Diciamo per altezza, questo obiettivo può essere raggiunto assegnando un particolare valore predefinito ad altezza nel costruttore di quella classe. Allo stesso modo, per altri parametri possono essere assegnati anche valori. Dopo aver usato l'oggetto di Box diciamo che vogliamo immediatamente qualche azione particolare o chiamare una funzione. Questo può essere fatto usando Destructor in C ++. Le istruzioni richieste verranno aggiunte al distruttore di quella classe. Questi sono i vantaggi in tempo reale di avere un costruttore e un distruttore in C ++.
Come funzionano costruttori e distruttori in C ++?
Come discusso in precedenza, il costruttore viene chiamato dal compilatore ogni volta che viene creato un oggetto. Se non definiamo il costruttore, il compilatore C ++ genera automaticamente un costruttore predefinito per noi. Il costruttore viene utilizzato per allocare la memoria, se necessario, e per costruire l'oggetto della classe, mentre un distruttore viene utilizzato per eseguire la pulizia richiesta quando un oggetto viene distrutto. Il distruttore viene chiamato automaticamente dal compilatore quando un oggetto viene distrutto. Se non definiamo il nostro distruttore, il compilatore C ++ crea un distruttore predefinito.
Creazione di costruttore e distruttore in C ++? (esempi)
1. Esempio di costruttore
Prendiamo lo stesso esempio di classe Box per dichiarare il costruttore. Assegniamo alcuni valori predefiniti all'altezza e al peso della scatola.
Codice
class Box (
public:
int height;
int weight;
// constructor
Box () (
// member initialization
height = 10;
weight = 20;
)
)
Pertanto, ogni volta che viene creato l'oggetto di questa classe, restituirà l'oggetto di tipo Box con i valori predefiniti come definito sopra.
2. Esempio di distruttore
Ogni volta che l'oggetto Box uscirà dal campo di applicazione, nel nostro esempio stamperemo un po 'di testo sulla console. In realtà la codifica può essere eseguita qualsiasi attività specifica.
Codice
class Box (
public:
int height;
int weight;
// constructor
Box () (
// member initialization
height = 10;
weight = 20;
)
//destructor
~Box () (
// post statements
cout << “Box Object is being deleted.” << endl;
)
)
Quindi, ogni volta che l'oggetto di Box esce dal campo di applicazione, il compilatore stamperà il testo come definito sopra sulla console.
Conclusione
Quindi, Costruttore e Distruttore svolgono un ruolo importante nel linguaggio di programmazione orientato agli oggetti. Un costruttore viene utilizzato per inizializzare l'oggetto e viene utilizzato il distruttore mentre si distrugge l'oggetto. Sia il costruttore che il distruttore sono molto utili durante la programmazione in linguaggio C ++.
Articoli consigliati
Questa è una guida per Costruttore e Distruttore in C ++. Qui discutiamo le esigenze di Costruttore e Distruttore in C ++, come usare, sintassi diversa ed esempi. Puoi anche consultare i nostri altri articoli correlati per saperne di più-
- Funzioni di array C ++
- Copia costruttore in C ++
- Introduzione al C ++
- Tipi di costruttore in C
- Guida al distruttore in C #
- Distruttore in PHP con esempi