Konstruktør og Destructor i C ++ - Behov, anvendelser med syntaks og eksempler

Indholdsfortegnelse:

Anonim

Introduktion til konstruktør og destruktør i C ++

  • Constructor and Destructor i C ++ spiller en betydelig rolle i et objektorienteret programmeringssprog som C ++. Da vi har Class and Its-objekter i C ++, mens vi opretter det nye objekt, hver gang konstruktøren kan bruges til at initialisere objektet, mens når objektet er ved at ødelægge destructor kan bruges til at udføre de krævede postoperationer.
  • Når vi opretter et objekt af en klasse i C ++, ønsker vi måske at initialisere felter i klassen med nogle standard- eller bestemte værdier. En klasse har sine felter og metoder. Felter er for det meste variabler eller objekter. Ved at tildele standardværdier til disse felter gør vi vores programmering let. Konstruktøren er som normal funktion i klassen, og kompilatoren kalder den automatisk, når vi opretter et nyt objekt i den klasse. Mens vi opretter objektet, overfører vi faktisk de krævede værdier som et argument til objektet, disse argumenter overføres til konstruktøren af ​​klassen. Argumentværdierne nu kan tildeles til tilsvarende felter, som er tilgængelige i klassen. Derudover kan vi tildele standardværdier til de felter, hvor vi ikke videregiver argumenterne. Der er som sådan forskellige typer og måder, hvorpå vi initialiserer konstruktøren i C ++.
  • Konstruktøren er som en speciel medlemsfunktion i en klasse. Hver gang vi opretter et nyt objekt, udføres konstruktøren. Syntaks for en konstruktør er meget enkel, funktionen har det samme navn som den klasse, hvori den er defineret, og den vil ikke have nogen returtype, ikke engang ugyldig. Konstruktører er meget nyttige til at tildele bestemte værdier til visse medlemmer af klassen. Konstruktøren kan bruges til at udføre klassrelateret logik på tidspunktet for instantiering.

Syntaks for konstruktør

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

Destruktoren i C ++ er også en særlig medlemsfunktion i klassen. Destruktoren kaldes automatisk af kompilatoren og udføres, hver gang objektet i den bestemte klasse går ud af rækkevidden, eller det slettes ved at bruge sletteudtryk til markøren til det pågældende objekt. Hver gang objektet ødelægges af en kompilator, kaldes destruktoren. I destructor kan vi udføre udsagn, som kan være alt, hvad vi vil udføre, når objektet går ud af rækkevidden. Efter operationerne som lukning af forbindelser, lukning af filer osv. Er nogle af eksemplerne, som vi kan udføre i destruktoren.

Destruktors syntaks

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

Destruktorens syntaks ligner meget konstruktøren. Det vil have det samme navn som det for den klasse, hvori det er defineret, og har ingen returtype. Dog vil det bare have ~ (tilde) tegn før destruktoren navn. Normalt bruges destruktoren til at omfordele den dynamisk allokerede hukommelse til klassen og dens medlemmer. Destruktorerne er meget nyttige til at udføre postoperationer, som kan udføres efter forretningslogik.

Hvorfor har vi brug for en konstruktør og Destructor i C ++?

C ++ er et objektorienteret programmeringssprog. I ethvert objektorienteret programmeringssprog kortlægger vi originale virkelige enheder med klassen og objekter.

Lad os forstå, hvorfor har vi brug for en konstruktør og destruktør i C ++ ved det virkelige liv. Antag, at vi har entitetsboks, og vi har oprettet en klasse til det, og det vil også have objekter, der kan bruges i andre dele. Nu vil boksen have visse parametre som højde, længde, bredde osv., Og når vi opretter et objekt i klasse Box, ønsker vi, at det skal tage en vis standardværdi. Lad os sige for højden, dette mål kan nås ved at tildele en bestemt standardværdi til højden i konstruktøren af ​​denne klasse. Tilsvarende kan til andre parametre også tildeles værdier. Efter brug af objektet i Box, lad os sige, at vi vil have en bestemt handling øjeblikkeligt eller kalde en eller anden funktion. Dette kan gøres ved at bruge Destructor i C ++. De påkrævede udsagn vil blive føjet til destruktøren af ​​denne klasse. Dette er realtidsfordelene ved at have en konstruktør og destruktør i C ++.

Hvordan fungerer konstruktører og destruktører i C ++?

Som omtalt tidligere, bliver konstruktøren kaldt af kompilatoren, når der oprettes et objekt. Hvis vi ikke definerer konstruktør, genererer C ++ -kompilatoren automatisk en standardkonstruktør for os. Konstruktøren bruges til at allokere hukommelsen om nødvendigt og konstruere klassens genstand, hvorimod en destruktor bruges til at udføre den nødvendige oprydning, når et objekt ødelægges. Destruktoren kaldes automatisk af kompilatoren, når en genstand bliver ødelagt. Hvis vi ikke definerer vores egen destructor, opretter C ++ -kompileren en standard destructor.

Opretter du konstruktør og Destructor i C ++? (Eksempler)

1. Konstruktøreksempel

Lad os tage det samme eksempel på klasse Box for at erklære konstruktøren. Lad os tildele nogle standardværdier til kassens højde og vægt.

Kode

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

Så når objektet i denne klasse oprettes, vil det returnere objektet af typen Box med standardværdier som defineret ovenfor.

2. Destructoreksempel

Hver gang Box-objektet går ud af rækkevidde, udskriver vi tekst på konsollen i vores eksempel. Ved faktisk kodning kan der udføres nogen specifik aktivitet.

Kode

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

Så når objektet i Box bliver ude af rækkevidde, udskriver kompilatoren teksten som defineret ovenfor på konsollen.

Konklusion

Så spiller Constructor og Destructor en vigtig rolle i det objektorienterede programmeringssprog. En konstruktør bruges til at initialisere objektet, og destruktoren bruges, mens objektet ødelægges. Både konstruktøren og destruktoren er meget nyttige, mens de programmeres på C ++ sproget.

Anbefalede artikler

Dette er en guide til Konstruktør og Destructor i C ++. Her diskuterer vi behovene hos Constructor og Destructor i C ++, hvordan man bruger, forskellige syntaks og eksempler. Du kan også gennemgå vores andre relaterede artikler for at lære mere-

  1. C ++ Array-funktioner
  2. Kopier konstruktør i C ++
  3. Introduktion til C ++
  4. Typer af konstruktør i C
  5. Guide til Destructor i C #
  6. Destruktor i PHP med eksempler