O. X. Azamatov



Yüklə 1,82 Mb.
Pdf görüntüsü
səhifə62/119
tarix31.12.2021
ölçüsü1,82 Mb.
#49500
1   ...   58   59   60   61   62   63   64   65   ...   119
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. 
 

Yüklə 1,82 Mb.

Dostları ilə paylaş:
1   ...   58   59   60   61   62   63   64   65   ...   119




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin