O clasă poate avea orice număr de funcții - membrii diferitelor aplicații, dar cele două tipuri de funcții ocupă o poziție specială. Aceste funcții sunt numite constructori si destructori.
Pentru mai multe obiecte cer în mod natural pe care le-au fost inițiate (de exemplu, avem o valoare inițială, nu coș de gunoi) înainte de utilizare.
In C ++ pentru a simplifica procesul de inițializare a obiectelor, o funcție specială numită constructor.
Designer - o funcție componentă numită în mod automat atunci când un obiect de clasă, și de a efectua pașii de inițializare necesare.
Scopul principal - pentru a inițializa obiecte.
- inițializare date de clasă - stabilirea lor inițială
software-ul sau implicite,
inițializează obiecte și clase helper. t. d.
Numele constructorului trebuie să se potrivească clasa Simen.
3) Funcția de constructor nu poate returna un rezultat, chiar și tipul void nu
4) Această funcție este numită în mod automat atunci când o definiție obiect, sau atunci când plasarea unui obiect în memorie folosind operatsiinew.
Formatul care definește un constructor în organism clasă:
<имя класса> (O listă de parametri formali)
Designer, precum și orice funcție componentă poate fi, de asemenea, definite în afara corpului de clasă, cu corpul în prototip de clasă.
T (lista de parametri);
De obicei, designerii sunt declarate în clasa deschisă
Designer pot să nu fie disponibile atunci când creați instanțe ale clasei
compilatorul alocă în mod automat memoria lor, cu toate că în acest caz,
datele nu este inițializat, și va conține gunoi.
8) Definiția clasei poate fi mai mulți constructori.
Distrugător - o caracteristică care se execută în mod automat atunci când instanța este distrusă.
(Sau atunci când obiectul trece dincolo de domeniul său de aplicare, sau distrugerea obiectului dinamic operațiunea de ștergere).
Destructor este folosit, de exemplu, în cazul în care un obiect - un local și alocă dinamic memorie, este recomandabil ca atunci când ieșiți din blocul atunci când obiectul încetează să mai existe, memoria a fost trimisă înapoi în sistem. Este de dorit ca memoria este eliberată în mod automat, eliberându operațiune de memorie pot fi incluse în destructor.
O clasă poate avea mai multe constructori, dar destructor poate fi doar unul.
Format funcție componentă-destructor
Între tilda și numele clasei nu sunt lacune.
În destructorul nu este tipul de rezultate, chiar nule și nu are parametri, chiar tipavoid.
Destructor este implicit realizată automat imediat ce obiectul este distrus. De obicei, nu suna, dar poate provoca, evident, în cazul în care este definită în clasa
În acest caz, obiectul va continua să existe, să fie efectuate numai acele acțiuni, care sunt scrise în corpul destructor.
Luați în considerare clasa de bărbați. care transportă un date privind vârsta și numele persoanei.
Să presupunem că în această clasă, există, de asemenea, un constructor si destructor.
În constructor, cu excepția acțiunii de inițializare a încheiat, de asemenea, o linie de control.
Destructor permite, de asemenea include un terminal de control al celuilalt rând.