Posted By: dammie () on 'CZprogram'
Title: Zivot objektu v C++
Date: Tue Dec 17 23:38:11 2002
Ahoj,
zjistil jsem, ze prilis nerozumim zivotnosti objektu v C++.
Pochopil jsem, ze kazdy objekt vytvoreny new musim v C++
nekde pomoci delete zrusit. Co ale v nasledujicim pripade?
Mam nasledujici metodu. Zajimalo by mne jak se vyporadat s alok.
objekty mMatice1, mMatice2 a mMatice3 a mSoucinMatic? Kdy se zrusi?
Musim to udelat sam (potom kde a jak, vzdyt k nim "zvenku" metody
vlasten nemam ani pristup, ukazatel dostavam pouze na mSoucinMatic)
Kam dam tedy delete? Nebo se o to nemusim zajimat a mMatice1-3 zaniknou
s koncem metody?
void Matice::VytvorZmenuMeritkaStredem(Bod* stred, double kx, double ky)
{
Matice* mSoucinMatic = new Matice;
Matice* mMatice1 = new Matice;
Matice* mMatice2 = new Matice;
Matice* mMatice3 = new Matice;
mMatice1->VytvorPosunuti(-stred->x, -stred->y);
mMatice2->VytvorZmenuMeritka(kx, ky);
mMatice3->VytvorPosunuti(b->stred->x, b->stred->y);
mSoucinMatic = mMatice1->SoucinSMatici(mMatice2->SoucinSMatici(mMatice3));
return mSoucinMatic;
}