O. X. Azamatov
Download 1.82 Mb. Pdf ko'rish
|
3072-Текст статьи-7829-1-10-20200908
7.2 Sinflar do‘stlari C++da aniq sinf do‘stlariga bu sinfning xususiy elementlariga murojaat etish imkonini beradi. C++ da bitta sinf yoki funksiya ikkinchi sinfga do‘stona sinfligini ko‘rsatish uchun friend kalit so‘zidan foydalanish va do‘stona sinf ismini ikkinchi sinf tavsifiga kiritish lozim. Do‘stona funksiya va sinflarni ta’riflash: friend friend Masalan, quyidagi book sinfi librarian sinfini o‘ziga do‘stona sinf deb belgilagan: class book { char title [64] ; char author[64]; char catalog[64]; public: book (char *, char *, char *); void show_book(void); friend librarian; }; Shuning uchun librarian sinf obyektlari book sinfning xususiy elementlariga, nuqta operatoridan foydalangan holda, to‘g‘ridan to‘g‘ri murojaat etishi mumkin: class librarian { public: void change_catalog(book *, char *); 64 char *get_catalog(book); }; void librarian::change_catalog(book *this_book, char *new_catalog) { strcpy(this_book->catalog, new_catalog); } char *librarian: :get__catalog(book this_book) { static char catalog[64]; strcpy(catalog, this_book.catalog); return(catalog) ; } Ko‘rib turganimizdek dastur librarian klassining change_catalog funksiyasiga book obyektini adres orqali bermoqda. Bu funksiya klassning book elementini o‘zgartirgani uchun, dastur parametrni adres orqali uzatishi va undan so‘ng ushbu klass elementiga murojat uchun ko‘rsatkich ishlatmog‘i lozim. Book klassi aniqlanishidan friend operatori o‘chirib yuborilsa C++ kompilyatori har gal book klassi xususiy ma’lumotlariga murojatda sintaksik xato xaqida xabar chiqaradi. Download 1.82 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling