65
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
Dostları ilə paylaş: