1 – dars. C++ Dasturlash tilining kelib chiqishi xaqida ma’lumot



Yüklə 0,69 Mb.
səhifə99/121
tarix02.01.2022
ölçüsü0,69 Mb.
#37187
1   ...   95   96   97   98   99   100   101   102   ...   121
aaaaKitob majmuasiiii

73 - DARS. SINFLAR DO’STLARI.
Sinfning kompanentalariga murojat qilishning yana bir usuli do’stona funktsiyalardan foydalanishdir. Sinfning do’stona funktsiyasi deb shu sinfga tegishli bo’lmagan lekin shu sinfning himoyalangan kompanentlariga murojat qilish huquqiga ega bo’lgan funktsiyalarga aytiladi. Funktsiya do’stona bo’lishi uchun sinf tanasida friend spetsifikatori bilan ta'riflanishi lozim.

Do’stona funktsiyaga ega bo’lgan sinfga misol:

# include

cla 11 charl 0 cu 1

int x,y;

char c c;

friend void friend_put (char locu1*, char);

public:


char locu1 (int xi, int yi, char ci)

{ x=xi; y=yi; cc=ci; }

void dirplay (void)

{ gotoxy (x,y); putch (cc); }

void friend_put (char locu1 * p, char c)

{ p-cc=c; }

void main (void)

{ char locu1 D (20,4, `d`);

char locu1 S (10,10, `s`);

clrrcr ( );

D. di 1 play ( ); getcr ( ); S. di1play ( ); getch( );

Friend_put (& D, `x`); D. dirplay ( ); getch( );

Friend_put (& S, `#`); S. di 1 play( ); getch( ); }

Dasturda D va S ob'ektlari yaratilib ular uchun ekranda koordinatalar va (d,s) simvollari aniqlanadi. Shundan sung sinf funktsiyasi char locu1 : : di 1 play ( ) simvollarni ko’rsatilgan pozitsiyaga chiqaradi. Global friend_put funktsiyasi simvollarning urnini almashtirib qo’yadi. Do’stona funktsiyalardan foydalanish hususiyatlari qo’yidagilardir. Do’stona funktsiya murojaat qilinganda this ko’rsatkichiga ega bo’lmaydi. Sinf ob'ektlari do’stona funktsiyaga parametrlari orqali uzatilishi lozim. Do’stona funktsiya sinf kompanentasi bo’lmagani uchun unga tanlov amalini qo’llab bo’lmaydi:



Yüklə 0,69 Mb.

Dostları ilə paylaş:
1   ...   95   96   97   98   99   100   101   102   ...   121




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