A valtozok kezelese ebben az esetben a programozo felelossege, a helyfoglalast a new , new[] operatorok vegzik mig a felszabaditast a delete, delete[] operatorok.
Pl:
int *a = new int; // helyfoglalas egyetlen egesz szamnak *a = 10; delete a; // felszabaditas int *t = new int[10] // helyfoglalas egy 10 elemu egesz szamokbol allo tombnek for(int i=0; i<10; i++) t[i]=10; delete [] t; //felszabaditas
Van egy Datum osztalyunk, keszitsunk belole peldanyokat.
Datum *d = new Datum(); delete d; // ebben az esetben kotelezo hogy letezen a Datum osztalyunknak // parameter nelkuli konstruktora Datum *td = new Datum[10]; delete [] td; // a masodik megoldas letrehozni egy mutato tombot // es abban egyenkent inicializalni az elemeket int i; Datum **d = new Datum *[10]; for(i=0; i<10; i++) d[i] = new Datum(2005,10,i+1); for(i=0; i<10; i++) delete d[i]; delete [] d;
No comments:
Post a Comment