O‟zbekiston respublikasi oliy va o‟rta maxsus ta‟lim vazirligi buxoro davlat universiteti fizika – matematika fakulteti


Ob`ektni dinamik taqsimlanuvchi xotiradan o`chirish



Download 0.55 Mb.
Pdf ko'rish
bet38/43
Sana25.05.2020
Hajmi0.55 Mb.
1   ...   35   36   37   38   39   40   41   42   43
Ob`ektni dinamik taqsimlanuvchi xotiradan o`chirish. 

delete  operatori  ishlatilganda  avtomatik  tarzda  undan  keyin  yozilgan  

ko`rsatkichda adresi saqlanuvchi ob`ekt tegishli sinf destruktori chaqiriladi.  Qoida 

bo`yicha  sinf  destruktori  ob`ektning  dinamik  xotira  sohasida  egallagan  barcha 

xotira  sohasini  bo`shatadi.  Ob`ektni  dinamik  xotiraga  joylashtirish  va  o`chirishga 

oid misol  ko`rsatilgan. 



Misol:  Dinamik  xotira  sohasiga  ob`ektlarni  joylashtirish  va  ularni 

o`chirishga oid misol. 

// Dinamik taqsimlanuvchi sohada ob`ektlarni          

//joylashtirish va o`chirish 

# inslude  

 

class SimpleCat 



public: 


SimpleCat(); 

~SimpleCat(); 

private: 

int itsAge; 

SimpleCat:: SimpleCat( ) 



cout<< ―Contructor called .\n ‖;  

itsYosh= 1; 




 

43 


SimpleCat:: ~ SimpleCat( )  

cout <<‖Destructor called .\n‖; 



int main() 

cout << ―Simple Cat Fricky… \n‖; 



SimpleCat Frisky; 

cout << ―SimpleCat *pRags = new SimpleCat… \n‖; 

SimpleCat* pRags = new SimpleCat; 

cout<< ―delete pRags… \n‖; 

delete pRags 

cout<< ―Exiting, watch Fricky go … \n‖; 

return 0; 

 



NATIJA  

SimpleCat Frisky… 

Constructor called. 

Simple Cat*pRags = new Simple Cat… 

Construstor called 

delete pRags… 

Destructor called 

Exiting, wath Frisky go … 

Destructor called. 

 

Sinfning  ekzemplyarining  (ob`ektining)  lokal  o`zgaruvchi  bo`lgan  a`zolariga 



murojaat  to`g‘ri  murojaat(.)  operatori  yordamida  amalga  oshiriladi.  Dinamik 

taqsimlanuvchi  sohada  hosil  qilingan  sinf  ekzemplyarlarining  a`zolariga  esa 

quyidagi  tarzda  murojaat  qilinadi:  oldin  sinf  ekzemplyariga  uni  adresini  o`zida 



 

44 


saqlagan ko`rsatkich orqali murojaat qilinadi (bilvosita murojaat operatori orqali), 

keyin  esa  to`g‘ri  murojaat  operatori  orqali  uning  a`zolariga  murojaat  qilinadi. 

Masalan,  GetAge()  Funksiya  a`zosini  chaqirish  uchun  quyidagicha  yozuv  yozish 

lozim:         

(*pRags).GetAge(); 

Bu  erda  qavslar  bilvosita  murojaat  operatori  (*)    GetAge()  Funksiyasi 

chaqirilishidan oldin bajarilishini anglatadi. 

Bunday  konstruktsiya  yozish  uchun  biroz  noqulayroqdir.  Bu  muammo 

ctrelkani  eslatuvchi,  sinf  a`zosiga  bilvosita  murojaat  operatori(–>)  orqali  hal  

qilinadi. Bu operatorni yozish uchun uzluksiz ravishda ketma–ket ikki belgi, tire va 

katta  ishorasini    terish  lozim.  S++  da  bu  belgilar  bitta  operator  sifatida  karaladi.  

Misolda  dinamik  sohada  joylashgan  sinf  ekzemplyarining  a`zolari,  uning 

maydonlari va metodlariga murojaat qilish namoyish etilgan. 


Download 0.55 Mb.

Do'stlaringiz bilan baham:
1   ...   35   36   37   38   39   40   41   42   43




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2020
ma'muriyatiga murojaat qiling

    Bosh sahifa
davlat universiteti
ta’lim vazirligi
O’zbekiston respublikasi
maxsus ta’lim
zbekiston respublikasi
o’rta maxsus
davlat pedagogika
axborot texnologiyalari
nomidagi toshkent
pedagogika instituti
texnologiyalari universiteti
navoiy nomidagi
samarqand davlat
guruh talabasi
toshkent axborot
nomidagi samarqand
ta’limi vazirligi
haqida tushuncha
toshkent davlat
Darsning maqsadi
xorazmiy nomidagi
Toshkent davlat
vazirligi toshkent
tashkil etish
Alisher navoiy
rivojlantirish vazirligi
Ўзбекистон республикаси
matematika fakulteti
pedagogika universiteti
таълим вазирлиги
sinflar uchun
Nizomiy nomidagi
tibbiyot akademiyasi
maxsus ta'lim
ta'lim vazirligi
o’rta ta’lim
махсус таълим
bilan ishlash
fanlar fakulteti
Referat mavzu
umumiy o’rta
haqida umumiy
Navoiy davlat
Buxoro davlat
fanining predmeti
fizika matematika
universiteti fizika
malakasini oshirish
kommunikatsiyalarini rivojlantirish
jizzax davlat
davlat sharqshunoslik