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. Oddiy va parametrli manipulyatorlar


Download 137.72 Kb.
bet12/15
Sana09.03.2023
Hajmi137.72 Kb.
#1255999
1   ...   7   8   9   10   11   12   13   14   15
Bog'liq
Лек 3узб

9.2-jadval. Oddiy va parametrli manipulyatorlar

Manipulyator

Tavsif

dek

Konvertatsiya qilish uchun kasr bazasini belgilaydi.

end1

Oqimga yangi qator belgisini uzatadi va oqimni tiklaydi.

tugaydi

Stringni tugatuvchi null belgisini oqimga uzatadi.

yuvish

Chiqish oqimini tiklaydi.

olti burchakli

O'n oltilik ayirboshlash bazasini belgilaydi.

qulf (iOS janob)

ir oqimining fayl deskriptorini bloklaydi.

okt

Sakkizlik konvertatsiya bazasini belgilaydi.

qayta tiklash bayroqlari (int f)

Bitlari f da o'rnatilgan bayroqlarni tozalang.

to'plam bazasi (int b)

O'tkazish bazasini o'rnatadi (0, 8, 10 yoki 16).

setios flags (int f)

Bitlari f da o'rnatilgan bayroqlarni o'rnatadi.

setfill(int c)

To'ldirish belgisini belgilaydi (funktsiyaga o'xshash
fiilO).

setprecision (uzun p)

Aniqlikni o'rnatadi (precision() funksiyasiga o'xshash).

setw(ion w)

Maydon kengligini o'rnatadi (width() funksiyasiga o'xshash).

oy qulfi(ios&ir)

ir oqimi uchun fayl deskriptorini qulfdan chiqaradi.

ws

Boshlovchi boʻshliq belgilari bundan mustasno.

Mana ba'zi manipulyatorlardan foydalanishga misol (biz o'zimizdan birini yaratdik):
Ro'yxat 9.2. Tutqichlar yordamida formatlash
//////////////////////////////////////////////
// Manip.cpp: Ba'zi manipulyatorlarning namoyishi.
//
#o'z ichiga
#pragma hdrstop
#include
///////////////////////////////////////////////////////// /
// Foydalanuvchi tomonidan belgilangan manipulyator - qo'ng'iroq.
//
ostream qobig'i (ostream &os)
{
qaytish os<< '\a';
#pragma argused
int main(int argc, char* argv[])
{
cout" qo'ng'irog'i; // Qo'ng'iroq manipulyatorini sinab ko'rish.
//
// Asosiy manipulyatorlarni o'zgartirish.
//
uzun 1 = 123456;
cout<< "Hex: "<< hex<< 1<< end1
<<"Oktyabr: "<< oktabr<< 1<< end1
<< "Dekabr: " << dek << 1 << end1;
//
// Parametrlangan manipulyatorlar.
//
int h=12, m=5, s=0; // Misoldagi kabi
// Format.cpp. cout << "Vaqt" << setfill('0')
<< setw(2) << h << ':'
<< setw(2) << m << ':'
<< setw(2) << s << setfillC ') << end1;
qaytish 0;
}
Ko'rib turganingizdek, o'zingizning oddiy manipulyatoringizni aniqlash juda oson. Bu shunchaki parametr sifatida unga uzatilgan oqimga havolani qaytaruvchi funksiya.
P arametrlashtirilgan manipulyatorni yaratish oson emas. Buni qilishning turli usullari mavjud, ammo eng aniqi manipulyatorni effektor sinfi orqali amalga oshirishdir. Fikr shu. Kerakli parametrlarni qabul qiluvchi konstruktor bilan manipulyator uchun o'z sinfingizni belgilashingiz va bu sinf uchun mos keladigan oqimni uzatish (qidirish) operatsiyasini ortiqcha yuklashingiz kerak. Keyin konstruktorni parametrlangan manipulyator deb atash mumkin. Vaqtinchalik ob'ekt yaratiladi, ortiqcha yuklangan operatsiya orqali oqimga chiqariladi va utilizatsiya qilinadi. Quyida o'zining imzosiz argumentini ikkilik shaklda oqimga chiqaradigan manipulyator ko'rsatilgan.
#include
// sinf effektor .
sinf qutisi {
int qiymati;
ommaviy:
Bin(unsigned arg) { val = arg; }
friend ostream &operator"(ostreams. Bin);
};
// Ikkilik shaklda chiqish raqami.
ostream &ooerator<<(ostream &os. Bin b) {
int cb = 1; // Sanoq sikllari uchun boshqaruv biti.
qil {
agar (b.val <0) // Agar val < 0 bo'lsa, u holda yuqori bit = 1. os << 1;
boshqa
os << 0;
} while (b.vai<<= 1, cb<<= 1) ;
qaytish OS;
}
int main()
(
imzosiz n = 0x00ff0f34;
cout<< "Ba'zi ikkilik: "<< Bin(n)<< end1;
qaytish 0;
}

Guruch. 9.1 Manipulyator o'z argumentini ikkilik shaklda chiqaradi
Bayroqlarni formatlash
Formatni boshqarish bayroqlari fmtflags (taxallus int) tipidagi o'zgaruvchida saqlanadigan bit maydonlaridir. Ularni o'qish va/yoki o'zgartirish uchun ics sinfining quyidagi a'zo funksiyalaridan foydalanish mumkin:

  • int bayroqlari(), int bayroqlari(int). Parametrsiz bayroqlarning joriy holatini qaytaradi. Belgilangan parametr bilan bayroqlarning yangi qiymatlarini o'rnatadi va ularning oldingi holatini qaytaradi.

  • int setf(int), long setf(int, int). Birinchi shakl argumentda bitlari o'rnatilgan bayroqlarni o'rnatadi . Ikkinchi shakl ikkinchi argumentda bitlari o'rnatilgan bayroqlarni o'zgartiradi . Ushbu bayroqlarning qiymatlari birinchi parametr bilan berilgan. Barcha bayroqlarning oldingi holatini qaytaradi.

  • bekor unsetf(int). Parametrda bitlari o'rnatilgan bayroqlarni tozalaydi.

Funktsiyalarga qo'shimcha ravishda siz bayroqlarni boshqarish uchun setiosflags manipulyatorlaridan (bitta parametrli setf() ga o'xshash) va reset-iosflags (unsetf() ga o'xshash) dan foydalanishingiz mumkin.
9.3-jadvalda oqim formatlash bayroqlari tasvirlangan.

Download 137.72 Kb.

Do'stlaringiz bilan baham:
1   ...   7   8   9   10   11   12   13   14   15




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling