O. X. Azamatov


Download 1.82 Mb.
Pdf ko'rish
bet70/119
Sana09.01.2022
Hajmi1.82 Mb.
#256439
1   ...   66   67   68   69   70   71   72   73   ...   119
Bog'liq
3072-Текст статьи-7829-1-10-20200908

Nazorat uchun savollar 
1.  Nima uchun avval ajdod sinf konstruktorlari chaqirilib, so‘ngra avlod sinf 
konstruktori chaqiriladi? 
2.  Nima  uchun  destruktorlar  konstruktorlarga  nisbatan  teskari  tartibda 
chaqiriladi? 
3.  Vorislikda  ajdod  sinf  spetsifikatori  sifatida  protected  ko‘rsatilishi 
mumkinmi?  
4.  Sinflar bibliotekasini qurishda vorislikdan qanday foydalaniladi? 
5.  Хususiy  deb  e’lon  qilingan  komponentalarga  boshqa  sinf  usullari  orqali 
murojaat qilish mumkinmi? 
 
 
 
 
 
 
 
 
 
 


76 
 
9 bob. STANDART AMALLARNI QO‘SHIMCHA YUKLASH 
9.1. Qo‘shimcha yuklash ta’rifi 
Standart  amallarni  (masalan  +)  qo‘shimcha  yuklash  biror  sinf  bilan  birga 
qo‘llashda mazmunini o‘zgartirishdan iboratdir. 
Standart  amallarni  qo‘shimcha  yuklash  maxsus  funksiya  –  komponenta  kiritish 
yo‘li  bilan  amalga  oshiriladi.  Qo‘shimcha  yuklash  til  standartiga  asosan  amalga 
oshiriladi, amallar belgisi va operandlar soni o‘zgarmaydi. 
Amallarni qo‘shimcha yuklash uchun quyidagi ta’rifdan foydalaniladi: 

quyidagi amallarni qo‘shimcha yuklash mumkin: 
+  -  *  /  %  ^  &  |  ~  ! 
 =  <  >  += -= *= /= %= ^= &= 
 |= << >> >>= <<= == != <= >= && 
 || ++ -- [] () new delete 
Bu  amallar  ustivorligi  va  ifodalar  sintaksisini  o‘zgartirish  mumkin  emas. 
Masalan unar amal % yoki binar ! amalni kiritish mumkin emas. Funksiya amal har 
qanday funksiya kabi ta’riflanadi va chaqiriladi.  
Standart tiplar uchun to‘rt amal ("+", "-", "*" i "&") ham unar ham binar amal 
sifatida ishlatiladi va qo‘shimcha yuklanadi. 
Хamma  qo‘shimcha  yuklangan  amallar  uchun  operator() amalidan tashqari,  ko‘zda 
tutilgan argumentlardan foydalanish mumkin emas. 
Amallar  xossalaridan  ba’zilaridan  foydalaniladi.  Хususan  operator=,  operator  [  
], operator ( ) va operator-> nostatik komponenta – funksiya bo‘lishi lozim.  
Operator  -  funksiya  yoki  sinf  komponentasi  bo‘lishi  kerak  yoki  juda  bo‘lmasa 
bitta  parametri  sinf  obyekti  bo‘lishi  kerak  (new  va  delete  amallarini  qo‘shimcha 
yuklovchi funksiyalar uchun bu shart emas). 
Operator  -  funksiya,  birinchi  parametri  asosiy  turga  tegishli  bo‘lsa,  funksiya-
komponenta bo‘lolmaydi. 
C++tilida quyidagi amallarni qo‘shimcha yuklash mumkin emas: 


77 
 
.            sinf obyekti a’zosiga murojaat
.* 
ko‘rsatkich orqali murojaat; 
?: 
shartli amal; 
:: ko‘rinish soxasini ko‘rsatuvchi amal; 
sizeof  hajmni hisoblash amali; 
#            preprotsessor amali. 
 

Download 1.82 Mb.

Do'stlaringiz bilan baham:
1   ...   66   67   68   69   70   71   72   73   ...   119




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling