3-ma'ruza funktsiyalar va sinflardan foydalanish. Funktsiya deklaratsiyasi. Funktsiya chaqiruvi. Funktsiyalar uchun bekor qilish sarlavha fayli. Standart sarlavha fayllari. Standart sinflardan foydalanish. Reja
-jadval. Oldindan belgilangan mavzu ob'ektlari C++
Download 137.72 Kb.
|
Лек 3узб
- Bu sahifa navigatsiya:
- Qabul qilish va oqimlash operatsiyalari
9.1-jadval. Oldindan belgilangan mavzu ob'ektlari C++
Qabul qilish va oqimlash operatsiyalari C++ tilidagi asosiy kiritish/chiqarish sinflari istream va ostreamdir. Ulardan birinchisi to'g'ri siljish operatorini (>>) haddan tashqari yuklaydi, u unga kirish vazifasini bajaradi va oqim operatoridan olish deb ataladi. Ostream klassi mos ravishda chapga siljish operatsiyasini ortiqcha yuklaydi (<<); chiqarish uchun ishlatiladi va oqimli operatsiya deb ataladi . A ytish kerakki, standart rus terminologiyasi C++ da mavjud emas. Har kim o'zini o'zi ixtiro qiladi; ba'zan muvaffaqiyatli, ba'zan esa yo'q. Bu erda eng oddiy kiritish operatorlari va. standart oqimlarda chiqish: #include int main() { belgi nomi [8.0]; cout << "Ismingizni kiriting: "; cin>> nomi; cout <<"Salom" << ism << "!"; qaytish 0; } Ko'rib turganingizdek, oqimlar bo'yicha operatsiyalar bilan ketma-ket belgilashga o'xshash operatsiyalarni ketma-ket zanjirlash mumkin. Ma'lumki, bu belgi shakli olib kelish va o'tish funktsiyalari o'z ob'ektiga havolani qaytarishi bilan ta'minlanadi. O'rnatilgan turlar uchun ortiqcha yuklangan operatorlar Istream va ostream sinflari barcha o'rnatilgan turlar uchun mos ravishda olish va oqim operatsiyalarini ortiqcha yuklaydi. Bu ushbu amallarni belgilarni, butun sonlarni, haqiqiy sonlarni (ya'ni, suzuvchi nuqta) va satrlarni o'qish va chiqarish uchun bir xilda qo'llash imkonini beradi. Mana kichik rasm, unda kiritishda xatolikni tekshirishning eng oddiy usuli ham ko'rsatilgan: #include bekor tekshiruvi (bekor) { agar (!cin.good()) { // Yoki faqat agar (!cin) { cout << "Xato aniqlandi!"; chiqish (1); } int asosiy (yaroqsiz) { ikki barobar d; long1; cout << "O'zgaruvchan nuqta qiymatini kiriting: "; cin >> d; tekshirish(); cout << "Siz kiritdingiz: " << d << '\n'; cout << "Butun qiymatni kiriting: "; cin >> 1; tekshirish(); cout << "Siz kiritdingiz: " << 1 << '\n'; qaytish 0; } Q idiruv va oqim operatsiyalari (mos ravishda istream va ostream sinflari uchun) haddan tashqari yuklanishi mumkin, shuning uchun ular foydalanuvchi tomonidan belgilangan sinf ob'ektlarini kiritish yoki chiqarish uchun ishlatilishi mumkin. Quyidagi misol ushbu texnikani ko'rsatadi. Aslida, bunday hollarda, kiritish xatolarini aniqlash va qayta ishlashni ta'minlash mutlaqo zarur, ammo biz buni bu erda qilmadik. #include class Point { int x, y ; ommaviy: Nuqta(int xx = 0, int yy = 0) { x=xx; y = yy; } dost istream &operator>>(istream&, Ballar); dost ostream &operator“(ostream&, Ballar); }; istream &operator”(istream &is, Point &p) // // Siz yozayotganda nuqta bu faqat bir juft raqamlar, // bo'sh joy ajratilgan. // bu >> r.x > r.y; qaytish hisoblanadi; } ostream &operator<<(ostream &os.Point &p) { // // (x, y) shaklida chiqarish. // os<< ' ( '<< b. x<< ", "<< b. y<<') ' ; qaytish OS; } int main() { nuqta p ; cout<< "Nuqta koordinatalarini kiriting: "; cin>> p ; cout << "Nuqta qiymatlari" << p ; qaytish 0; } Formatlash Kirish/chiqarish kutubxonasi formatlashning uchta usulini taqdim etadi: formatlashtiruvchi a'zo funksiyalarini chaqirish, manipulyatorlardan foydalanish yoki oqim bayroqlarini o'rnatish yoki tozalash. A'zo funktsiyalarini formatlash Bu funksiyalar iOS sinfining aʼzolari boʻlib, siz mos keladigan oqim atributini oʻqishingiz yoki oʻrnatishingiz uchun haddan tashqari yuklangan. Agar qo'ng'iroqda argument bo'lmasa, funktsiya atributning joriy qiymatini qaytaradi. Agar argument taqdim etilsa, funktsiya yangi qiymatni o'rnatadi va atributning oldingi qiymatini qaytaradi. Download 137.72 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling