Constructor și distrugător în C ++ - Nevoie, utilizări cu sintaxă și exemple

Cuprins:

Anonim

Introducere despre constructor și distrugător în C ++

  • Constructorul și distrugătorul în C ++ joacă un rol semnificativ într-un limbaj de programare orientat pe obiecte precum C ++. Întrucât avem obiectele Class și Its în C ++ în timp ce creăm noul obiect de fiecare dată când constructorul poate fi folosit pentru inițializarea obiectului, în timp ce atunci când obiectul este pe cale să distrugă distrugătorul poate fi folosit pentru a efectua operațiunile post necesare.
  • Când creăm un obiect al unei clase în C ++, este posibil să dorim să inițiem câmpurile clasei cu anumite valori implicite sau anumite valori. O clasă are câmpurile și metodele sale. Câmpurile sunt în mare parte variabile sau obiecte. Alocând valori implicite acestor câmpuri, ne facilităm programarea. Constructorul este ca o funcție normală în cadrul clasei și compilatorul îl sună automat atunci când creăm un nou obiect al clasei respective. În timp ce creăm obiectul, trecem de fapt valorile cerute ca argument pentru obiect, aceste argumente sunt transmise constructorului clasei. Valorile argumentului pot fi acum alocate câmpurilor corespunzătoare, care sunt disponibile în clasă. În plus, putem atribui valori implicite câmpurilor în care nu trecem argumentele. Există astfel de tipuri și moduri diferite prin care inițializăm constructorul în C ++.
  • Constructorul este ca o funcție de membru special al unei clase. Ori de câte ori creăm un obiect nou, constructorul este executat. Sintaxa unui constructor este foarte simplă, funcția va avea același nume ca acela al clasei în care este definit și nu va avea niciun tip de returnare, nici măcar nul. Constructorii sunt foarte utili în atribuirea unor valori particulare anumitor membri ai clasei. Constructorul poate fi folosit pentru a efectua o logică legată de clasă în momentul instantării.

Sintaxa constructorului

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

Distrugătorul în C ++ este, de asemenea, o funcție de membru special în clasă. Distructorul este apelat automat de compilator și este executat ori de câte ori obiectul acelei clase iese din sfera sau este șters folosind expresia ștergere la indicatorul obiectului respectiv. Ori de câte ori obiectul este distrus de un compilator, se numește distrugătorul. În distrugător, putem executa instrucțiuni care pot fi orice dorim să executăm atunci când obiectul iese din sfera de aplicare. Post-operațiunile precum închiderea conexiunilor, închiderea fișierelor, sunt câteva dintre exemplele pe care le putem efectua în distrugător.

Sintaxa distrugătorului

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

Sintaxa distrugătorului este foarte asemănătoare cu constructorul. Acesta va avea același nume ca cel al clasei în care este definit și nu va avea niciun tip de retur. Cu toate acestea, doar va avea semnul ~ (tilde) înainte de numele distrugătorului. De obicei, distrugătorul este folosit pentru a aloca memoria alocată dinamic clasei și membrilor acesteia. Distructoarele sunt foarte utile pentru a efectua operațiuni post, care pot fi efectuate după logica de afaceri.

De ce avem nevoie de un constructor și distrugător în C ++?

C ++ este un limbaj de programare orientat pe obiecte. În orice limbaj de programare orientat pe obiecte, mapăm entitățile originale din viața reală cu clasa și obiectele.

Să înțelegem de ce avem nevoie de un constructor și un distrugător în C ++ prin exemplu de viață reală. Să presupunem că avem entitatea Box și am creat o clasă pentru aceasta și va avea și obiecte care pot fi utilizate în alte părți. Acum caseta va avea anumiți parametri, cum ar fi înălțimea, lungimea, lățimea, etc. și de fiecare dată când creăm un obiect al clasei Box, dorim să ia o valoare implicită. Să spunem pentru înălțime, acest obiectiv poate fi atins prin atribuirea unei anumite valori implicite în înălțime în constructorul clasei respective. În mod similar, pentru alți parametri pot fi atribuite și valori. După utilizarea obiectului Box, să zicem că dorim imediat o anumită acțiune sau apelăm la o anumită funcție. Acest lucru se poate face folosind Distrugătorul în C ++. Declarațiile solicitate vor fi adăugate distrugătorului clasei respective. Acestea sunt avantajele în timp real ale unui constructor și distrugător în C ++.

Cum funcționează Constructorii și Destructorii în C ++?

Așa cum s-a discutat anterior, constructorul este sunat de compilator ori de câte ori este creat un obiect. Dacă nu definim constructor, compilatorul C ++ generează automat un constructor implicit pentru noi. Constructorul este folosit pentru a aloca memoria dacă este necesar și pentru a construi obiectul clasei, în timp ce, un distrugător este folosit pentru a efectua curățarea necesară atunci când un obiect este distrus. Distructorul este numit automat de compilator atunci când un obiect este distrus. Dacă nu ne definim propriul distrugător, compilatorul C ++ creează un distrugător implicit.

Creează constructor și distrugător în C ++? (Exemple)

1. Exemplu de constructor

Să luăm același exemplu de clasă Box pentru a declara constructorul. Să atribuim câteva valori implicite înălțimii și greutății cutiei.

Cod

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

Deci, de fiecare dată când este creat obiectul acestei clase, acesta va returna obiectul de tip Box cu valori implicite, așa cum s-a definit mai sus.

2. Exemplu distrugător

Ori de câte ori obiectul Box va ieși în afara domeniului de aplicare, vom tipări câteva text pe consolă în exemplul nostru. În codarea efectivă se poate realiza orice activitate specifică.

Cod

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

Deci, ori de câte ori obiectul Box iese din sfera de aplicare, compilatorul va tipări textul așa cum este definit mai sus pe consolă.

Concluzie

Astfel, Constructorul și Distrugătorul joacă un rol important în limbajul de programare orientat pe obiecte. Un constructor este folosit pentru inițializarea obiectului și distrugătorul este utilizat în timp ce distruge obiectul. Atât constructorul, cât și destructorul sunt foarte utile în timpul programării în limbajul C ++.

Articole recomandate

Acesta este un ghid pentru constructor și distrugător în C ++. Aici vom discuta despre nevoile constructorului și ale distrugătorului în C ++, modul de utilizare, diferite sintaxe și exemple. Puteți, de asemenea, să parcurgeți alte articole conexe pentru a afla mai multe-

  1. C ++ Funcții Array
  2. Copiați constructorul în C ++
  3. Introducere în C ++
  4. Tipuri de constructori în C.
  5. Ghid pentru distrugător în C #
  6. Distrugător în PHP cu exemple