Funksiyasi kabi, get funksiyasi


Download 446.14 Kb.
bet12/23
Sana09.01.2023
Hajmi446.14 Kb.
#1085802
1   ...   8   9   10   11   12   13   14   15   ...   23
Bog'liq
Dasturlash Yakuniy javoblari (2)

C++ tilidagi do'st sinfi

  • Bundan tashqari, kalit so'z yordamida C++ da do'st sinfidan foydalanishimiz mumkin friend. Masalan,

  • class ClassB;


  • class ClassA {

  • // ClassB is a friend class of ClassA

  • friend class ClassB;

  • ... .. ...

  • }


  • class ClassB {

  • ... .. ...

  • }

  • Agar sinf do'st sinf deb e'lon qilingan bo'lsa, do'st sinfining barcha a'zo funktsiyalari do'st funksiyalariga aylanadi.

  • Do'st sinf bo'lgani uchun biz barcha a'zolarga ichkaridan ClassBkira olamiz .ClassAClassB

  • ClassBBiroq, biz a'zolariga ichkaridan kira olmaymiz ClassA. Buning sababi, C++ da do'stlik munosabatlari faqat berilgan, olinmaydi.




    1. Sinf obʻyekti uchun dinamik xotira ajratish

    Xotiranitaqsimlovchilarvaulargaqo‘yilgantalablar.Dinamikxoti
    rabilanishlashdamaxsustruklarni, fragmentlardanfoydalanishbo‘lmasa,
    ko‘piginaalgoritmlardanfoydalanishsamarasizbo‘lshimumkin.
    Bungamisolsifatidaikkitaholatniko‘ribchiqamiz. new va delete
    operatorlariningqaytaaniqlanibyuklanishidasintaktikkonstruktorlarkichik
    roqbo‘ladivadasturlokalizatsiyaqilishoddiybo‘ladi.
    Shuningdekprotsessordagiamallartizimidahamqaytaaniqlashsodirbo‘ladi.
    Avvalo, xotiraniishlashinitezlashtirishdaaqlli allocator
    qanchalikfoydasiborliginianiqlashlozim.
    Buninguchunoddiytestmisollarini (C++vaS#) tillaridako‘ribchiqaylik (
    buxotirabilanishlashuchunyaxshimenejerhisoblanadivaob’ektlarniavlodl
    argaajratadi,turlio‘lchamdagiob’ektlaruchunturlipullardan (joylar)
    foydalanadi).
    Pulob’ektlari. Pulob’ektlariuchunaniqechim -
    OSdankattaxotirablokiniolishvaunitengbloklio‘lchamlargabo‘lishdir
    sizeof(node).
    Xotiraniajratishdabloknipuldanolinadivaunibo‘shatishdaunipulgaqaytaril
    adi. Pulnitashkilqilishningengosonusuli - bittaaloqastekni (stack)
    ishlatishdir.
    Maqsaddasturdaminimalqaytaaniqlashlarbo‘lganiuchun,
    BlockAlloc sinfnimerosxo‘risifatida Node sinfinitanlashdir.
    class Node : public BlockAlloc

    Download 446.14 Kb.

    Do'stlaringiz bilan baham:
  • 1   ...   8   9   10   11   12   13   14   15   ...   23




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