Referat mavzu: Guruh: Rahbar: Bajardi: jizzax 2023 Reja: Kirish
II.3. C++ dasturlash tilida operatorlarni ishga tushirish (While va While do operatori misolida)
Download 45.01 Kb.
|
Referat Mavzu C dasturi operatorlari. Operatorlar. Bajardi
II.3. C++ dasturlash tilida operatorlarni ishga tushirish (While va While do operatori misolida)
While operatorini dasturlarda ishga tushirish. Komponenta funktsiya albatta sinf tanasida ta'riflangan bo’lishi lozim. Global funktsiyalardan farqli komponenta funktsiya strukturaning hamma komponentalariga murojaat qilishi mumkin. Funktsiyaning faqat prototipi emas to’la ta'rifi struktura tanasida joylashgan bo’lsa, bu funktsiya joylashtiruvchi (inline) funktsiya hisoblanadi. Ma'lumki inline funktsiyalarda tsikllar, kalit bo’yicha o’tish operatori ishlatilishi mumkin emas. Bundan tashqari bunday funktsiyalar rekursiv funktsiya bo’lolmaydi. Bu chegaralarni engish uchun struktura tanasiga faqat funktsiya prototipi joylashtirilib, funktsiyaning to’la ta'rifi struktura tashqarisida dasturga kiruvchi boshqa funktsiyalar bilan birga beriladi. Komponenta funktsiyani struktura tashqarisida ta'riflanganda, qaysi strukturaga tegishli ekanligini qo’yidagi shaklda ko’rsatiladi: Struktura-nomi :: Komponenta funktsiya-nomi Struktura tanasiga komponenta funktsiya prototipi qo’yidagi shaklda joylashtiriladi: Tip funktsiya-nomi(formal-parametrlar-ta'rifi) Struktura tashkarisida funktsiya qo’yidagi shaklda ta'riflanadi: Tip struktura-nomi :: funktsiya-nomi(formal-parametrlar-spetsifikatsiyasi) { funktsiya tanasi }; Bu holda funktsiyalar joylashtiriluvchi {inline) deb qaraladi. Funktsiya struktura tashqarisida ta'riflangan bo’lsa ularni inline funktsiya sifatida qarash uchun funktsiya ta'rifida inline so’zi aniq ko’rsatilgan bo’lishi kerak:Struktura kompleks ob'ektlari uchun umumiy bo’lgan elementlar statik elementlar deb ataladi. Yangi ob'ektlar yaratilganda statik elementlarga murojat qilish uchun oldin inizializatsiya qilinishi lozim. Inizializatsiya qo’yidagicha amalga oshiriladi: Struktura-nomi:: kompleks-nomi initsializator Misol uchun skladdagi tovarni kompleks tasvirlovchi strukturani kurib chiqamiz. Bu struktura komponentalari qo’yidagilardan iborat: -Tovar nomi; -Olish narxi; -Qo’shimcha narx foiz ko’rinishida; tenglikka olib keladi, chunki len kompanentasi private atributiga egadir. Struktura 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 strukturai ob'ektlariga ko’rsatkich kiritamiz; Complex 1 CM(10.2,-6.4); Complex 1 * PCOM1=& CM; Stroka strukturai 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. Strukturaning kerakli konstruktori mavjud bo’lib qo’shimcha yuklangan funktsiyalardir. Har bir konstruktor bajarilganda dinamik hotira ajratiladi. Struktura 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 --- Bu operatsiya-funktsiya ‘+’ amalini stroka strukturaiga tegishli ob'ektlarga qo’llash uchun ishlatiladi. Funktsiya operatsiya tanasi asosiy dasturdan keyin keltirilgan, shuning uchun asosiy dasturda bu funktsiyaning prototipi joylashtirilgan. # include “ stroka. Spp “ stroka & operator + (stroka & A, stroka & B); void main (void) { stroka X (“qui”); stroka Y (“vivra”); stroka J (“verra”); stroka C; while c=x+Y+J+”-Tirik bulsak, ko’ramiz”.; c. di 1 play ( );} do stroka 2 operator + (stroka &, stroka & b) { int ii=a. len-str ( ) + b.len-str ( ); stroka * ps; ps=new stroka (ii); strcpy (ps-string ( ), a.string ( ) ); strcut (ps-string ( ),b.string ( ) ); ps-len_str ( )=ii; return * ps;} Dastur bajarilishi natijasi: Satr uzunligi 36 Satr mazmuni: Qui Vivra Verra –Tirik bo’lsak quramiz! Dasturda satrlar uchun kiritilgan ‘+’ amali bitta ifodada uch marta qo’llanadi: X+Y+J f”-Tirik bo’lsak qo’ramiz!” Bunday qisqa murojatdan tashqari to’la operatsiya funktsiyani chiqarish mumkin: C= operator t ( X,Y ); C= operator t ( C,J ); C= operator t ( C,” Tirik bo’lsak, quramiz!” ) Ikkinchi imkoniyat struktura kompanenta funktsiyalardan foydalanishdir. Har qanday biror amal strukturaga tegishli statik kompanenta operatsiya-funktsiya yordamida qayta yuklanishi mumkin. Bu holda bitta parametrga ega bo’lib, sarlavhasi qo’yidagi ko’rinishda bo’ladi: T operator & (T.X) Bu erda T-struktura, &-operatsiya. Bu holda A&V ifoda A. Operator & (B) murojaat sifatida talqin yotiladi. Kerak bo’lganda this ko’rsatkichi orqali murojat qilish mumkin. Misol tariqasida ‘t’ amalini point strukturai bilan ta'riflanuvchi displeydagi nuqtalarga qullaymiz. Har qanday amal '$' struktura ob'ektlari uchun ikki usulda aniqlanadi yoki parametrsiz komponenta funktsiya yoki bir parametrli (balkim do’stona) global funktsiya. Prefiks amal uchun xz ifoda , postfiks amal uchun Z ifoda komponenta funktsiya z.operator *( ) yoki global funktsiya operator*(z) chaqirilishini bildiradi. C++ tilida ba'zi amallarni boshqa amallarning kombinatsiyasi sifatida aniqlanadi. Misol uchun j+m butun son uchun m+=1ni bu amal bo’lsa m=m+1 ni bildiradi. Bunday avtomatik almashtirishlar qo’shimcha yuklangan amallar uchun bajarilmaydi. Misol uchun umumiy holda operator*=() ta'rifni operator*( ) ta'rif va operator=( ) ta'rifdan keltirib chiqarib bo’lmaydi. Agar operatsiya funktsiyaning birinchi parametri standart tip bo’lishi kerak bo’lsa, bunday operatsiya-funktsiya kompanenta-funktsiya bulolmaydi. Misol uchun aa- biror struktura ob'ekti bo’lsin va uning uchun '+' amali qo’llangan bo’lsin. AA+2 ifoda uchun yoki AA.operator(2) yoki operator+(AA,2) ifoda chaqirilishi mumkin. 2++AA ifoda uchun operator+(AA,2) chaqirilishi mumkin lekin z. operator+(AA) hatoga olib keladi. Amallar kengaytirilganda ular uchun har hil tiplar qolib inatsiyasini oldindan nazarda tutish lozim. Lekin operatsiya-funktsiyalarga murojaat qilinganda standart tiplar almashinuvchi qoidalari ishlatiladi, shuning uchun tiplarning hamma kombinatsiyalarini hisobga olish zarurati yuq. Kupgina hollarda binar amallar uchun qo’yidagi hollarni hisobga olish etarlidir. # standart tip, cinf # struktura, standart tip # struktura, struktura XULOSA
Borland C++ Builder 6 sistemasi C++ tilining rivoji bo`lgan ob`ektga yo`naltirilgan Object C/C# dasturlash tillarini ishlatadi. Borland C++ Builder sistemasi dasturni loyihalash va yaratish vaqtini kamaytiradi, hamda Windows muhitida ishlovchi dastur ilovalarini tuzish jarayonini osonlashiradi. Men C++ dasturi strukturasi xaqida, belgilar bayoni, algoritm va dastur tushunchasi, ma’lumotlarni kiritish va chikarish operatorlari xamda dasturda ishlatiladigan toifalar, ifodalar va operatorlar hamda sinflar va funksiya bilan ishlash xaqida bilim va kunikmalarga ega bo`ldim. Download 45.01 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2025
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling