O. X. Azamatov



Yüklə 1,82 Mb.
Pdf görüntüsü
səhifə59/119
tarix31.12.2021
ölçüsü1,82 Mb.
#49500
1   ...   55   56   57   58   59   60   61   62   ...   119
3072-Текст статьи-7829-1-10-20200908

6.4.   This ko‘rsatkichi 
Agarda  konkret  obyektga  ishlov  berish  uchun  sinf  a’zosi  –  funksiya  chaqirilsa, 
unda  shu  funksiyaga  obyektga  belgilangan  ko‘rsatkich  avtomatik  va  ko‘rsatilmagan 
holda uzatiladi. Bu ko‘rsatqich this ismiga ega va x* this kabi har bir funksiya uchun 
ko‘rsatilmagan holda belgilanadi.  Х sinfni ekvivalent ko‘rinishda shunday tavsiflash 
mumkin:  
class x { 
int m; 
public: 
int readm() { return this->m; } 
}; 
A’zolarga murojaat etishda  this dan foydalanish ortiqcha. Asosan this bevosita 
ko‘rsatkichlar  bilan  manipulyatsiya  qilish  uchun  a’zo  funksiyalarini  yaratilishida 
foydalaniladi.   
Har qaysi obyekt sinf maydonining o‘z nusxasiga ega. Sinf usuli xotirada bitta 
nusxada  bo‘ladi  va  hamma  obyektlar  bilan  birgalikda  ishlatiladi.  Shuning  uchun 
usullarni  maydonlar  bilan  ishini  tashkil  etishda  chaqirilayotgan  obyekt  uchun 
ta’minlanishiga  e’tibor  berish  kerak.    Bu  esa  yashirin  this  parametrini  funksiyaga 
o‘zatishni  ta’minlaydi.  this  ko‘rsatkichi  noaniq  ravishda  usulning  ichkarisida 
foydalaniladi.  Aniq  holatda  esa  bu  ko‘rsatkich  usuldagi  ko‘rsatkichni  hisoblashda 


59 
 
(return this;) yoki chaqirilayotgan obyektga (return *this;) murojaatlarda qo‘llaniladi. 
Quyida this ko‘rsatkich uchun misol keltiramiz: 
monstr & the_best(monstr &M){ 
if( health >M.health) return nhis; 
return M; 
... monstr Vas1a(50). Super(200); 
//Best yangi obyekti Super maydoni qiymatlari bilan initsializiya qilinmoqda: 
monstr Best = Vasia.the_best(Super); 
this ko‘rsatkichini sinf usulning maydonini nomi formal parametrlar nomi bilan 
mos kelgan hollarda identifikatsiya qilishda qo‘llash mumkin. Identifikatsiyalashning 
boshqa usuli esa ko‘rinish sohasiga murojaat etishda qo‘llash mumkin: 
void curednt health. 1nt ammo){ 
this -> health += health; // this dan foydalanish 
monstr:: ammo += ammo; // :: amalidan foydalanish 

Yüklə 1,82 Mb.

Dostları ilə paylaş:
1   ...   55   56   57   58   59   60   61   62   ...   119




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin