În C++ se folosesc funcţii membre numite constructori şi destructori pentru crearea, iniţializarea, copierea şi distrugerea obiectelor.
Un constructor – este o funcţie specială membră a unei clase şi are acelaşi nume cu acea clasă;
Are rolul de a iniţializa obiectele (instanţele acelei clase) atunci când sunt create.
Complementul constructorului este destructorul- distruge obiectele create;
Destructorul are acelaşi nume cu constructorul, dar precedat de caracterul ~.
Obiectele locale sunt create când se intră în blocul lor şi distruse când se termină programul.
#include <iostream.h>
int n_obiecte=0;
class OB{
public:
OB(){
n_obiecte++;
cout<<"Numarul obiectelor in viata "<<n_obiecte<<endl;
}
~OB(){
n_obiecte--;
cout<<"Au mai ramas doar "<<n_obiecte<<" obiecte "<<endl;
}
};
void main()
{
OB a,b,c; //creez primele 3 obiecte
{
OB d,e;
} // aici distrug d si e
{ // redeschid alt context
OB f; //crez un nou obiect f
} // distrug f
} // eliberez memoria ocupata de obiectele a,b,c
Numele coincide cu numele clasei căreia îi aparţine;
În declaraţii nu se specifică nici un tip de rezultat;
Pot fi mai mulţi constructori pentru aceeaşi clasă, deosebirea realizându-se prin mecanisme de overloading (supraîncărcare).
Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.