O‘zbekiston respublikasi axborot texnologiyalari va kommunikatsiyalarini rivojlantirish vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti urganch filali dasturlash 1 fanidan Mustaqil ish Gurux: 972-21


Download 93.47 Kb.
bet1/2
Sana05.04.2023
Hajmi93.47 Kb.
#1274781
  1   2
Bog'liq
16-mustaqil ish





O‘ZBEKISTON RESPUBLIKASI AXBOROT
TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI
RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI URGANCH FILALI
Dasturlash 1 fanidan

Mustaqil ish

Gurux: 972-21
Topshirdi: Normuminov Muhriddin

Fan o’qituvchisi:______________________



Urganch 2022
Mavzu: O’zaro bog’langan sinflarni tashkil etish.
Agarda bir nechta sinf funksiyalariga boshqa sinfning xususiy ma’lumotlariga
murojaat qilish kerak bo‘lsa, u holda C++ do‘stona sinfning faqatgina belgilangan
funksiyalari xususiy elementlarga murojaat etishiga imkoniyat beradi. Masalan,
faqatgina change_catalog va get_catalog funksiyalarga book sinfning xususiy
elementlariga murojaat kerak. Quyida ko‘rsatilgandek, book sinfning ichida faqatgina
shu funksiyalarda xususiy funksiyalarga murojaat chegarasini qo‘yishi lozim:
class book
{
public:
book(char *, char *, char *);
void show_book(void);
64 friend char *librarian::get_catalog(book);
friend void librarian: :change_catalog( book *, char *);
private:
char title[64];
char author[ 64 ];
char catalog[64];
};
Ko‘rib turganimizdek friend operatorlari xususiy elementlarga murojat qiluvchi
hamma do‘st funksiyalarini to‘liq prototiplarini o‘z ichiga oladi.
Agar dastur bir sinfdan boshqasiga murojaat qilsa va sinflar aniqlanish tartibi
noto‘g‘ri bo‘lsa sintaksik xatoga duch kelish mumkin. Bizning holda book klassi
librarian klassida e’lon qilingan funksiyalar prototiplariga murojat qilmoqda. Shuning
uchun librarian klassi aniqlanishi book klassi aniqlanishidan oldin kelishi kerak, biroq
librarian klassi book klassiga murojat qilmoqda:
class librarian
{
public:
void change_catalog(book *, char *);
char *get_catalog(book);
};
book klassi aniqlanishini librarian klassi aniqlanishidan oldini qo‘yib bo‘lmagani
uchun. C++ book klassini e’lon qilish imkonini beradi va shu bilan u kompilyatorga
bunday klass borligi xaqida xabar beradi va keyinroq o‘zi ham aniqlanadi. Quyida
buni qanday amalga oshirish keltirilgan:
class book; // sinf elon qilinishi

Download 93.47 Kb.

Do'stlaringiz bilan baham:
  1   2




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