Uvod o Konstruktorju in Destruktorju v C ++
- Konstruktor in Destruktor v C ++ imata pomembno vlogo v objektno usmerjenem programskem jeziku, kot je C ++. Ker imamo C in njegove predmete v C ++ med ustvarjanjem novega predmeta, lahko vsakič uporabimo konstruktor za inicializacijo predmeta, medtem ko lahko objekt uniči destruktor, lahko uporabimo za izvajanje potrebnih post operacij.
- Ko ustvarimo predmet razreda v C ++, bomo morda želeli inicializirati polja razreda z nekaterimi privzetimi ali določenimi vrednostmi. Razred ima svoja polja in metode. Polja so večinoma spremenljivke ali predmeti. Z dodeljevanjem privzetih vrednosti tem poljem olajšamo programiranje. Konstruktor je kot običajna funkcija znotraj razreda in prevajalnik ga samodejno pokliče, ko ustvarimo nov objekt tega razreda. Med ustvarjanjem objekta dejansko posredujemo zahtevane vrednosti kot argument predmetu, te argumente posredujemo konstruktorju razreda. Vrednosti argumentov lahko zdaj dodelimo ustreznim poljem, ki so na voljo v razredu. Poleg tega lahko polji, kjer ne prenesemo argumentov, dodelimo privzete vrednosti. Obstajajo takšne različne vrste in načini, s katerimi inicializiramo konstruktor v C ++.
- Konstruktor je kot posebna funkcija člana razreda. Kadar koli ustvarimo nov objekt, se konstruktor izvaja. Sintaksa konstruktorja je zelo preprosta, funkcija bo imela isto ime kot razred razreda, v katerem je definirana, in ne bo imela nobenega povratnega tipa, niti neveljavnega. Konstruktorji so zelo koristni pri dodeljevanju določenih vrednosti določenim članom razreda. Konstruktor se lahko uporablja za izvajanje logike, povezane z razredom, v trenutku podajanja podatkov.
Sintaksa konstruktorja
class Box (
public:
int height;
//constructor
Box () (
// member initialization
)
)
Destruktor v C ++ je tudi posebna funkcija članov v razredu. Prevajalnik samodejno pokliče uničevalnik in se izvrši vsakič, ko predmet tega določenega razreda izstopi iz področja ali pa ga izbriše z uporabo izraza brisanje na kazalec tega predmeta. Kadar koli predmet uniči prevajalnik, se pokliče destruktor. V destruktorju lahko izvedemo izjave, ki so lahko karkoli, kar želimo izvesti, ko predmet izstopi iz področja. Postopki, kot so zapiranje povezav, zapiranje datotek itd., So nekateri primeri, ki jih lahko izvajamo v destruktorju.
Sintaksa Destruktorja
class Box (
public:
int height;
//destructor
~Box () (
// post statements
)
)
Sintaksa destruktorja je zelo podobna konstruktorju. Imelo bo isto ime kot ime razreda, v katerem je opredeljeno, in ne bo imelo povratne vrste. Vendar bo le ime ~ (tilde) pred imenom destruktorja. Običajno se destruktor uporablja za lociranje dinamično dodeljenega pomnilnika razreda in njegovih članov. Destruktorji so zelo koristni za izvajanje postranskih operacij, ki jih je mogoče izvesti po poslovni logiki.
Zakaj potrebujemo Konstruktor in Destruktor v C ++?
C ++ je objektno usmerjen programski jezik. V katerem koli objektno usmerjenem programskem jeziku preslikamo izvirne entitete resničnega življenja z razredom in predmeti.
Da razumemo, zakaj potrebujemo konstruktorja in destruktorja v C ++ na primeru iz resničnega življenja. Recimo, da imamo entiteto Box in smo zanjo ustvarili razred in bo imel tudi predmete, ki jih je mogoče uporabiti v drugih delih. Zdaj bo polje imelo določene parametre, kot so višina, dolžina, širina itd. In kadar koli ustvarimo predmet razreda Box, želimo, da prevzame neko privzeto vrednost. Recimo za višino, lahko ta cilj dosežemo z dodelitvijo določene privzete vrednosti višini v konstruktorju tega razreda. Podobno lahko za druge parametre dodelimo tudi vrednosti. Po uporabi predmeta Box recimo, da želimo takoj določeno dejanje ali pokličemo neko funkcijo. To je mogoče storiti z uporabo Destructorja v C ++. Zahtevane izjave bodo dodane destruktorju tega razreda. To je v realnem času prednosti konstruktorja in destruktorja v C ++.
Kako konstruktorji in destruktorji delujejo v C ++?
Kot smo že omenili, prevajalnik pokliče konstruktor vsakič, ko ustvari objekt. Če konstruktorja ne definiramo, prevajalnik C ++ samodejno ustvari privzeti konstruktor za nas. Konstruktor se uporablja za dodelitev pomnilnika, če je to potrebno, in za gradnjo predmeta razreda, medtem ko se destruktor uporablja za potrebno čiščenje, ko se objekt uniči. Prevajalnik samodejno pokliče destruktor, ko se predmet uniči. Če ne definiramo svojega destruktorja, prevajalnik C ++ ustvari privzeti destruktor.
Ustvarjanje konstruktorja in destruktorja v C ++? (Primeri)
1. Primer konstruktorja
Vzemimo isti primer razreda Box, da razglasimo konstruktor. Dodamo nekaj privzetih vrednosti glede na višino in težo polja.
Koda
class Box (
public:
int height;
int weight;
// constructor
Box () (
// member initialization
height = 10;
weight = 20;
)
)
Torej, kadar koli ustvari objekt tega razreda, bo vrnil predmet tipa Box s privzetimi vrednostmi, kot je določeno zgoraj.
2. Primer uničevalca
Kadar koli bo objekt Box šel iz obsega, bomo v našem primeru natisnili nekaj besedila na konzoli. V resničnem kodiranju se lahko izvaja katera koli specifična dejavnost.
Koda
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;
)
)
Kadar koli predmet Box izstopi iz obsega, bo prevajalnik tiskal besedilo, kot je določeno zgoraj, na konzolo.
Zaključek
Konstruktor in Destruktor imata torej pomembno vlogo v objektno usmerjenem programskem jeziku. Za inicializacijo predmeta se uporablja konstruktor, medtem ko se uničuje objekt. Tako konstruktor kot destruktor sta zelo uporabna pri programiranju v jeziku C ++.
Priporočeni članki
To je vodnik za Konstruktor in Destruktor v C ++. Tukaj razpravljamo o potrebah Constructorja in Destruktorja v C ++, načinu uporabe, različnih sintaksov in primerov. Obiščite lahko tudi druge naše sorodne članke, če želite izvedeti več -
- C ++ funkcije matrike
- Kopiraj konstruktor v C ++
- Uvod v C ++
- Vrste konstruktorjev na C
- Vodnik za Destruktor v C #
- Destruktor v PHP s primeri