Kitob uchta qismdan iborat. "Strukturali dasturlash", "Obyektli-yo’nalishli dasturlash", "Standart kutubxonalar"



Download 333,2 Kb.
bet62/90
Sana10.07.2022
Hajmi333,2 Kb.
#770437
1   ...   58   59   60   61   62   63   64   65   ...   90
Bog'liq
C majmua

Do’stona sinf

Agarda qandaydir sinfning barcha usullari boshqa sinfning yashirin maydonlariga kirishga ega bo’lishlari lozim bo’lsa, butun sinf friend tayach so’zi yordamida do’stona deb e’lon qilinadi. Quyida keltirilgan misolda mistress sinfi hero sinfiga do’stona deb e’lon qilinadi:


class hero{



friend class mistress;
}
class mistress {

void f1();
void f2();
}

f1 va f2 funksiyalar hero sinfiga nisbatan do’stona hisoblanadi (vaholangki ular friend tayanch so’zisiz tavsiflangan) va uning barcha maydonlariga kirishga ega.


friend e’loni kirish spetsifikatori emas va meros qoldirmaydi.


Destruktorlar

Destruktor – bu obyekt band etgan xotirani tozalash uchun qo’llaniladigan usulning maxsus turi. Obyekt ko’rinish sohasida chiqqanda destruktor avtomatik chaqiriladi:



  • Lokal obyektlar uchun – ular e’lon qilingan blokdan chiqishda;

  • Global obyektlar uchun – main da chiqish prosedurasi qismidan iborat;

  • Ko’rsatgichlar orqali berilgan obyektlar uchun destruktor delete amalidan foydalanganda oshkormas chaqiriladi.

Destruktor nomi () tilda (tipografiya belgisi - ) bilan boshlanib, undan so’ng sinf nomi keladi. Destruktor:

  • argumentlar va qaytariluvchi qiymatga ega emas;

  • const yoki static kabi aniqlanishi mumkin emas;

  • meros qilinmaydi;

  • virtual bo’lishi mumkin.

Agar destruktor oshkora aniqlanmagan bo’lsa, dinamik ajratiladigan xotiraga ko’rsatgichni o’z ichiga olgan obyekt – boshqacha aytganda uning maydon ko’rsatgichlari murojaat qilgan xotira obyekti yo’qotiladi, ozod sifatida qayd qilinmaydi. Destruktorga ko’rsatgichni aniqlash mumkin emas.
Qaralayotga misol uchun destruktor quyidagi ko’rinishda bo’lishi lozim.
monstr:: monstr(){delete [ ] name;}
Destruktorni oshkora ravishda to’liq aniqlashtirilgan nomni ko’rsatish yo’li bilan chaqirish mumkin, masalan:
monstr *m; …
m -> monstr ();
Bu ortiqcha yuklangan new amali yordamida xotirani konkret manzili ajratilgan obyektlar uchun kerak bo’ladi. Zaruratsiz obyektning destruktorini chaqirish tavsiya etilmaydi.



Download 333,2 Kb.

Do'stlaringiz bilan baham:
1   ...   58   59   60   61   62   63   64   65   ...   90




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish