Constructor en Destructor in C ++ - Behoeften, toepassingen met syntaxis en voorbeelden

Inhoudsopgave:

Anonim

Introductie over Constructor en Destructor in C ++

  • Constructor en Destructor in C ++ spelen een belangrijke rol in een objectgeoriënteerde programmeertaal zoals C ++. Omdat we Class en Its-objecten in C ++ hebben terwijl we het nieuwe object maken, kan elke keer dat constructor wordt gebruikt voor het initialiseren van het object, terwijl wanneer het object op het punt staat destructor te vernietigen, worden gebruikt om de vereiste nabewerkingen uit te voeren.
  • Wanneer we een object van een klasse maken in C ++, willen we mogelijk klassenvelden initialiseren met enkele standaardwaarden of bepaalde waarden. Een klasse heeft zijn velden en methoden. Velden zijn meestal variabelen of objecten. Door standaardwaarden aan deze velden toe te wijzen, maken we onze programmering eenvoudig. De constructor werkt als een normale functie binnen de klasse en de compiler roept het automatisch aan wanneer we een nieuw object van die klasse maken. Tijdens het maken van het object geven we de vereiste waarden als argument door aan het object, deze argumenten worden doorgegeven aan de constructor van de klasse. De argumentwaarden kunnen nu worden toegewezen aan overeenkomstige velden, die beschikbaar zijn in de klasse. Bovendien kunnen we standaardwaarden toewijzen aan de velden waar we de argumenten niet doorgeven. Er zijn dus verschillende soorten en manieren waarop we de constructor in C ++ initialiseren.
  • De constructor is als een speciale lidfunctie van een klasse. Wanneer we een nieuw object maken, wordt de constructor uitgevoerd. De syntaxis van een constructor is heel eenvoudig, de functie heeft dezelfde naam als die van de klasse waarin deze is gedefinieerd en heeft geen retourtype, zelfs niet ongeldig. Constructors zijn erg handig bij het toewijzen van bepaalde waarden aan bepaalde leden van de klasse. De constructor kan worden gebruikt om klassegerelateerde logica uit te voeren op het moment van instantiëren.

Syntaxis van Constructor

class Box (
public:
int height;
//constructor
Box () (
// member initialization
)
)

De destructor in C ++ is ook een speciale lidfunctie in de klasse. De destructor wordt automatisch aangeroepen door de compiler en wordt uitgevoerd wanneer het object van die bepaalde klasse buiten het bereik valt of wordt verwijderd met de delete-expressie naar de aanwijzer van dat object. Wanneer het object door een compiler wordt vernietigd, wordt de destructor aangeroepen. In destructor kunnen we statements uitvoeren die alles kunnen zijn wat we willen uitvoeren wanneer het object buiten het bereik valt. Post-operaties zoals verbindingen sluiten, bestanden sluiten, enz. Zijn enkele voorbeelden die we in de destructor kunnen uitvoeren.

Syntaxis van Destructor

class Box (
public:
int height;
//destructor
~Box () (
// post statements
)
)

De syntaxis van de destructor lijkt sterk op de constructor. Het heeft dezelfde naam als die van de klasse waarin het is gedefinieerd en heeft geen retourtype. Alleen het heeft echter een ~ (tilde) teken voor de naam van de vernietiger. Gewoonlijk wordt de destructor gebruikt om het dynamisch toegewezen geheugen voor de klasse en zijn leden te dealloceren. De destructors zijn erg handig om post-operaties uit te voeren, die kunnen worden uitgevoerd na bedrijfslogica.

Waarom hebben we een Constructor en Destructor nodig in C ++?

C ++ is een objectgeoriënteerde programmeertaal. In elke objectgeoriënteerde programmeertaal brengen we originele real-life entiteiten in kaart met de klasse en objecten.

Laten we begrijpen waarom we een constructor en destructor in C ++ nodig hebben door een voorbeeld uit de praktijk. Stel dat we entiteit Box hebben en we hebben er een klasse voor gemaakt en deze zal ook objecten hebben die in andere delen kunnen worden gebruikt. Nu heeft het vak bepaalde parameters, zoals hoogte, lengte, breedte, enz. En wanneer we een object van klasse Box maken, willen we dat het een standaardwaarde krijgt. Laten we zeggen dat voor hoogte, dit doel kan worden bereikt door een bepaalde standaardwaarde toe te wijzen aan hoogte in de constructor van die klasse. Evenzo kunnen voor andere parameters ook waarden worden toegewezen. Laten we na het gebruik van het object van Box meteen een bepaalde actie willen of een functie aanroepen. Dit kan worden gedaan met behulp van Destructor in C ++. De vereiste verklaringen worden toegevoegd aan de destructor van die klasse. Dit zijn de realtime voordelen van het hebben van een constructor en destructor in C ++.

Hoe werken constructors en destructors in C ++?

Zoals eerder besproken, wordt de constructor door de compiler aangeroepen telkens wanneer een object wordt gemaakt. Als we geen constructor definiëren, genereert de C ++ compiler automatisch een standaardconstructor voor ons. De constructor wordt gebruikt om indien nodig het geheugen toe te wijzen en het object van klasse te construeren, terwijl een destructor wordt gebruikt om de vereiste opschoning uit te voeren wanneer een object wordt vernietigd. De destructor wordt automatisch aangeroepen door de compiler wanneer een object wordt vernietigd. Als we onze eigen destructor niet definiëren, maakt de C ++ compiler een standaard destructor.

Constructor en Destructor maken in C ++? (Voorbeelden)

1. Constructeurvoorbeeld

Laten we hetzelfde voorbeeld van klasse Box nemen om de constructor te verklaren. Laten we enkele standaardwaarden toewijzen aan de lengte en het gewicht van het vak.

Code

class Box (
public:
int height;
int weight;
// constructor
Box () (
// member initialization
height = 10;
weight = 20;
)
)

Dus wanneer het object van deze klasse wordt gemaakt, retourneert het het object van het type Box met standaardwaarden zoals hierboven gedefinieerd.

2. Destructor-voorbeeld

Wanneer het object van Box buiten bereik valt, zullen we in ons voorbeeld wat tekst op de console afdrukken. Bij het daadwerkelijk coderen kan elke specifieke activiteit worden uitgevoerd.

Code

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;
)
)

Dus wanneer het object van Box buiten bereik komt, zal de compiler de tekst zoals hierboven gedefinieerd op de console afdrukken.

Conclusie

Constructor en Destructor spelen dus een belangrijke rol in de objectgeoriënteerde programmeertaal. Een constructor wordt gebruikt om het object te initialiseren en destructor wordt gebruikt terwijl het object wordt vernietigd. Zowel de constructor als de destructor zijn erg handig tijdens het programmeren in de taal C ++.

Aanbevolen artikelen

Dit is een gids voor Constructor en Destructor in C ++. Hier bespreken we de behoeften van Constructor en Destructor in C ++, hoe te gebruiken, verschillende syntaxis en voorbeelden. U kunt ook onze andere gerelateerde artikelen doornemen voor meer informatie-

  1. C ++ Array Functies
  2. Kopieer Constructor in C ++
  3. Introductie tot C ++
  4. Soorten constructor in C
  5. Gids voor Destructor in C #
  6. Destructor in PHP met voorbeelden