20
Ko’pgina hollarda sinf va obyekt tushunchalarini ishlatishda chalkashlikka yo’l
qo’yiladi. Shuning uchun, obyekt sinfning biror bir ekzemplyari (nusxasi)
ekanligini
yana bir bor ta’kidlash joiz.
Sinf a’zolariga murojaat qilish imkoni
Mushuk
sinfining real obyektini aniqlaganimizdan so’ng bu obyektning
a’zolariga murojaat qilish zaruriyati tug’ilishi mumkin. Buning uchun bevosita
murojaat (.) operatori qo’llaniladi. Masalan, Frisky obyektining Weight
o’zgaruvchi -
a’zosiga 50 sonini o’zlashtirmoqchi bo’lsak quyidagi jumlani yozishimiz lozim.
Fresky.Weight=50;
Meow()
usulini chaqirish uchun esa
Frisky.Meow();
jumlasini yozish lozim.
Qiymat sinfga emas obyektga o’zlashtiriladi
C++ tilida berilganlar tipiga qiymat o’zlashtirilmaydi. Qiymat faqatgina
o’zgaruvchilarga beriladi. Masalan, quyidagi yozuv noto’g’ridir:
Int=s // noto’g’ri
Kompilyator int tipiga qiymat o’zlashtirilishi xatolik ekanligi haqida xabar
beradi. Xuddi shu nuqtai – nazardan quyidagi yozuv ham noo’rindir:
Cat.itsYosh= 5 // noto’gri
Agarda Mushuk obyekt bo’lmasdan sinf bo’lsa, yuqoridagi ifodani ham
kompilyator xato deb hisoblaydi. O’zlashtirish amalini bajarishda xatolikka yo’l
qo’ymaslik uchun oldin Mushuk sinfiga tegishli Frisky
obyektini hosil qilish va uning
ItsYosh maydoniga 5
qiymatini berish lozim.
Mushuk Frisky;
Frisky.itsYosh=5;