Modal adlı üyeden alıntı: mesajı görüntüle
Merhaba;

Bir fonksiyon1 adlı fonksiyon içinde for ile nesne oluşturuyorum şöyle ki :
for(i=0;i<10;i++){

Kitap i;

i.setAd(setAd);


}
Bu şekilde sürekli i değeriyle nesne oluşturuyorum ve içindekilere ulaşıyorum fakat başka bir fonksiyon2 adlı başka bir fonksiyonda bu oluşturduğum nesneye tekrardan ulaşamıyorum çünkü 1.fonksiyonda kalmıştı bunu global nasıl yaparım?
Teşekkürler.


Kitap * pKitap[10];

for(int i = 0; i < 10; i++)
{
pKitap[i] = new Kitap;
pKitap[i]->setAd(setAd);
}

pKitap[0]->setAd(setAd); // sonradan erişmek için
pKitap[1]->setAd(setAd);
pKitap[2]->setAd(setAd);
pKitap[3]->setAd(setAd);

bu şekilde 10 a kadar gider



Eğer 1 defa oluşturup sürekli kullanacaksanız serbest bırakmaya gerek yok, fakat sürekli new operatörü kullanılacaksa bellek sızıntısı oluşur, aşağıdaki şekilde serbest bırakmak gerek

for(int i = 0; i < 10; i++)
{
free(pKitap[i]); // new oparatörü ile açılan alanı serbest bırak.
}