42
Tajriba ishi №7
Mavzu: Microsoft Visual C++ da sinflar orasidagi munosabat, merosxo’rlik
Ishni bajarishdan maqsad: Microsoft Visual C++ da sinflar orasidagi munosabatni,
merosxo’rlikni qo’llashni o’rganish.
Nazariy qism:
Vorislikda murojaat xuquqlarini boshqarish
Vorislik o’zining barcha ajdodlarining xususiyatlari, ma’lumotlari, metodlari va
voqealarini meros qilib oladigan xosila sinfini e’lon qilish imkoniyatini beradi,
shuningdek yangi tavsiflarni e’lon qilishi xamda meros sifatida olinayotgan ayrim
funksiyalarni ortiqcha yuklashi mumkin. Bazaviy sinfning ko’rsatib o’tilgan
tavsiflarini meros qilib olib, yangi tug’ilgan sinfni ushbu tavsiflarni kengaytirish,
toraytirish, o’zgartirish, yo’q qilish yoki o’zgarishsiz qoldirishga majburlash mumkin.
Xosila sinfni e’lon qilishning umumlashgan sintaksisi:
class : []
nomi> {…}
Sinf o’zining bazaviy sinfidan yuzaga kelayotganida, uning barcha nomlari
xosila sinfda avtomatik tarzda yashirin private bo’lib qoladi. Ammo uni, bazaviy
sinfning quyidagi kirish spetsifikatorlarini ko’rsatgan xolda, osongina o’zgartirish
mumkin:
private. Bazaviy sinfning meros bo’lib o’tayotgan (ya’ni ximoyalangan va
ommaviy) nomlari xosila sinf nusxalarida kirib bo’lmaydigan bo’lib qoladi.
public. Bazaviy sinf va uning ajdodlarining nomlari xosila sinf nusxalarida
qirib bo’ladigan bo’ladi, barcha ximoyalangan nomlar esa ximoyalangan bo’lib
qolaveradi.
Agarda yangi sinf class kalitli so’z yordamida aniqlangan bo’lsa unda xosila sinfdagi
meros komponentalar private kirish statusiga ega bo’ladi, struct yordamida esa