Sinfni aniqlash va e'lon qilinadigan ob'ektlar
C ++ da sinf kalit so'zlar yordamida sinfning nomi va undan keyin sinf nomi bilan belgilanadi. Sinfning tanasi jingalak qavs ichida aniqlanadi va oxirida nuqta-vergul bilan tugaydi.
Ob'ektlarni e'lon qilish: sinf aniqlanganda faqat ob'ekt uchun spetsifikatsiya aniqlanadi; xotira yoki xotira ajratilmagan. Sinfda aniqlangan ma'lumotlar va kirish funktsiyalaridan foydalanish uchun siz ob'ektlarni yaratishingiz kerak.
Sintaksis:
Ma'lumotlar a'zolari va a'zo funktsiyalariga kirish: sinfning ma'lumotlar a'zolari va a'zo funktsiyalariga ob'ekt bilan nuqta ('.') Operatori yordamida kirish mumkin. Masalan, agar ob'ekt nomi obj bo'lsa va siz printName () nomi bilan a'zoning funktsiyasiga kirishni xohlasangiz, obj.printName () yozishingiz kerak bo'ladi.
Ma'lumotlar a'zolariga kirish
Umumiy ma'lumotlar a'zolariga ham xuddi shu tarzda kirish mumkin, ammo shaxsiy ma'lumotlar a'zolariga ob'ekt tomonidan to'g'ridan-to'g'ri kirishga ruxsat berilmaydi. Ma'lumot a'zosiga kirish faqat ushbu ma'lumotlar a'zosining kirishini boshqarish bilan bog'liq.
Ushbu kirishni boshqarish C ++ da Access modifikatorlari tomonidan beriladi. Kirishning uchta modifikatori mavjud: jamoat, xususiy va himoyalangan. public, private va protected.
Do’stona funksiyalar (friend function).
Agar funktsiya C ++ da do'stona funktsiya(friend function) sifatida aniqlansa, u holda sinfning himoyalangan(protected) va shaxsiy(private) ma'lumotlariga funktsiya yordamida kirish mumkin bo’ladi.
Friend kalit so'zidan foydalanib, berilgan funktsiya do'stona funktsiya ekanligi compilyator tomonidan aniqlanadi.
Ma'lumotlarga kirish uchun do'stona funktsiyasini e'lon qilish sinf tanasida friend kalit so'zidan boshlab bajarilishi kerak.
Masalan:
class class_name
{
friend data_type function_name(argument/s); // do'stona funktsiyasi sintaksisi.
};
Yuqoridagi deklaratsiyada do'st funktsiyasidan oldin do'st kalit so'zi qo'yilgan. Funksiyani dasturning istalgan joyida oddiy C ++ funktsiyasi kabi aniqlash mumkin. Funktsiya ta'rifida do'st yoki kalit o'lchamlari operatori kalit so'zlari ishlatilmaydi.
Do'stona funktsiyaning xususiyatlari:
Funktsiya do'st sifatida e'lon qilingan sinf doirasiga kirmaydi.
Ob'ektni ishlatish deb atash mumkin emas, chunki u ushbu sinf doirasiga kirmaydi.
Ob'ektni ishlatmasdan uni oddiy funktsiya kabi chaqirish mumkin.
U to'g'ridan-to'g'ri a'zo nomlariga kira olmaydi va a'zo nomi bilan nuqta a'zolik operatoridan foydalanishi kerak.
U shaxsiy yoki jamoat qismida e'lon qilinishi mumkin.
C++ da do’stona funksiyani ishlatishga misol:
Qutining uzunligini aniqlash uchun ishlatiladigan do'stona funktsiyani oddiy misolini ko'rib chiqamiz.
#include
Do'stlaringiz bilan baham: |