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


- DARS. SINFLAR VA KO’RSATKICHLAR



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

71 - DARS. SINFLAR VA KO’RSATKICHLAR.
Sinf kompanentalariga ko’rsatkichlar.

Sinfga tegishli funktsiyaga ko’rsatkichlar qo’yidagi ko’rinishga ega:

Funktsiya-tipi (sinf-nomi : :* kursatkich-nomi )

(formal parametrlar spetsifikatsiyasi )

Masalan complex sinfida double & ze ( ), double & im ( ) metodlari aniqlangan. Sinf tashqarisida Ptcom ko’rsatkichini qo’yidagicha kiritish mumkin.

Double & (complex : :* Pt Com) ( );

Bu ko’rsatkich qiymatini oddiy usulda berish mumkin:

Pt Com=& complex : : v;

Endi complex sinfiga tegishli A ob'ekt uchun:

Complex A (10.0, 2.4);

Shu sinfga tegishli re( ) funktsiyasini quyidagicha chiqarish mumkin.

(A. * PtCom) ( )=11.1;

cont < < (A. * PtCom ) ( );

Ko’rsatkich qiymatini o’zgartiramiz:

PtCom=& complex : : im;

Endi bu ko’rsatkich yordamida shu sinfning boshqa funktsiyasining chaqirish mumkin:

Cont < < (A. ^ PtCom) ( );

Complek B=A;

(B. ^ PtCom ( ) f=3.0;

Sinfining komponenta ma'lumotlariga murojat qiluvchi ko’rsatkich ta'rifi:

Ma'lumot-turi (sinf-nomi : : * kursatkich-nomi);

Ko’rsatkichni ta'riflashda initsializatsiya qilish mumkin, lekin buning uchun kompanenta

public (umumiy) formatda ega bo’lishi kerak. Masalan: satr uzilishiga ko’rsatkich yaratish:

Int (stroka : : * pllu)=& stroka : : len;

Tenglikka olib keladi, chunki len kompanentasi private atributiga egadir. Sinf kompanentasiga ko’rsatkichni funktsiyalarni chaqirishda haqiqiy parametr shartida ishlatish mumkin. Buning uchun bu parametrlari qo’yidagiga murojaat qilish lozim. Ob'ekt-nomi.* kompanenta-ma'lumotga-ko’rsatkich

Ob'ekt-nomi.* metodga-ko’rsatkich (parametrlar)

Misol uchun complek sinfi ob'ektlariga ko’rsatkich kiritamiz;

Complex 1 CM(10.2,-6.4);

Complex 1 * PCOM1=& CM;

Bu holda

PCOM1-* PCM1=22.2

Keltirilgan operator M ob'ekt sifatida kiritilgan kompleks sonini haqiqiy qismini o’zgartiradi. Qo’yidagi misolda mos metodga murojaat bajariladi:

Complex A (22.2, 33.3);

complex * P Complex=&A;

Void (complex : : * dirplay) ( );

Pdi 1 play-& complex : : di 1 play;

(P Complex -* Pdi 1 play ( );

Bu misolda ekranga qo’yidagi ma'lumot chiqariladi:

Real=22.2; imag=33.3;

Void di 1 play (void)

{cont < <”\ n satr uzunligi: “ < < ch;

}

~ stroka ( ) { delete [ ] ch; }



};

# include “stroca C P P”

void main ( )

{ stroka LAT (“Non Multa, sed Multa”);

stroka RUS (“Ne mnogo; no mnogoe”);

stroka CTP (20);

LAT. Display( );

Count < < “\ n B ob'ekt RUS: “ << Run string ( );

C T P. display ( );

}

Stroka sinfi clarr hizmatchi so’zi yordamida kiritilgani uchun char * ch va int len kompanentalariga to’g’ridan to’g’ri murojaat qilib bo’lmaydi. Satr uzunligini aniqlash uchun len-str ( ) kompanenta funktsiyasiga murojaat qilish lozimdir. Konkret ob'ektga tegishli satrga ko’rsatkichni string ( ) funktsiyasi qaytaradi. Sinfning kerakli konstruktori mavjud bo’lib qo’shimcha yuklangan funktsiyalardir. Har bir konstruktor bajarilganda dinamik hotira ajratiladi. Sinf destruktori ~stroka ( ) bu hotirani ozod qiladi. in+N parametrlari konstruktor chaqirilganda N+1 elementli massiv bo’sh qoladi,



Satr uzunligi bo’lsa 0 ga teng bo’ladi.

Char * orch parametrli konstruktor chaqirilganda, massiv uzunligi va ---.



Yüklə 0,69 Mb.

Dostları ilə paylaş:
1   ...   93   94   95   96   97   98   99   100   ...   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