O‘zbekiston respublikasi oliy va o‘rta maxsus ta’lim vazirligi tоshkеnt dаvlаt iqtisоdiyot universitеti
Download 1.96 Mb. Pdf ko'rish
|
Obyektga yo`naltirilgan dasturlash tillari
Nazorat uchun savollar
1. Nima uchun avval ajdod sinf konstruktorlari chaqirilib, so‘ngra avlod sinf konstruktori chaqiriladi? 2. Nima uchun destruktorlar konstruktorlarga nisbatan teskari tartibda chaqiriladi? 3. Vorislikda ajdod sinf spetsifikatori sifatida protected ko‘rsatilishi mumkinmi? 4. Sinflar bibliotekasini qurishda vorislikdan qanday foydalaniladi? 5. Хususiy deb e’lon qilingan komponentalarga boshqa sinf usullari orqali murojaat qilish mumkinmi? 76 9 bob. STANDART AMALLARNI QO‘SHIMCHA YUKLASH 9.1. Qo‘shimcha yuklash ta’rifi Standart amallarni (masalan +) qo‘shimcha yuklash biror sinf bilan birga qo‘llashda mazmunini o‘zgartirishdan iboratdir. Standart amallarni qo‘shimcha yuklash maxsus funksiya – komponenta kiritish yo‘li bilan amalga oshiriladi. Qo‘shimcha yuklash til standartiga asosan amalga oshiriladi, amallar belgisi va operandlar soni o‘zgarmaydi. Amallarni qo‘shimcha yuklash uchun quyidagi ta’rifdan foydalaniladi: quyidagi amallarni qo‘shimcha yuklash mumkin: + - * / % ^ & | ~ ! = < > += -= *= /= %= ^= &= |= << >> >>= <<= == != <= >= && || ++ -- [] () new delete Bu amallar ustivorligi va ifodalar sintaksisini o‘zgartirish mumkin emas. Masalan unar amal % yoki binar ! amalni kiritish mumkin emas. Funksiya amal har qanday funksiya kabi ta’riflanadi va chaqiriladi. Standart tiplar uchun to‘rt amal ("+", "-", "*" i "&") ham unar ham binar amal sifatida ishlatiladi va qo‘shimcha yuklanadi. Хamma qo‘shimcha yuklangan amallar uchun operator() amalidan tashqari, ko‘zda tutilgan argumentlardan foydalanish mumkin emas. Amallar xossalaridan ba’zilaridan foydalaniladi. Хususan operator=, operator [ ], operator ( ) va operator-> nostatik komponenta – funksiya bo‘lishi lozim. Operator - funksiya yoki sinf komponentasi bo‘lishi kerak yoki juda bo‘lmasa bitta parametri sinf obyekti bo‘lishi kerak (new va delete amallarini qo‘shimcha yuklovchi funksiyalar uchun bu shart emas). Operator - funksiya, birinchi parametri asosiy turga tegishli bo‘lsa, funksiya- komponenta bo‘lolmaydi. C++tilida quyidagi amallarni qo‘shimcha yuklash mumkin emas: 77 . sinf obyekti a’zosiga murojaat; .* ko‘rsatkich orqali murojaat; ?: shartli amal; :: ko‘rinish soxasini ko‘rsatuvchi amal; sizeof hajmni hisoblash amali; # preprotsessor amali. Download 1.96 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling