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
bet61/83
Sana08.11.2023
Hajmi1.96 Mb.
#1757524
1   ...   57   58   59   60   61   62   63   64   ...   83
Bog'liq
Obyektga yo`naltirilgan dasturlash tillari

 } 
Qavsdagi konstruksiya tavsif bo‘lib funksiya formal parametriga mosdir. Unda 
parametr tipi va yuzag kelgn istisno nomi berilishi mumkin. 
 
12.7. Istisnolar va konstruktorlar 
Istisnolar konstruktordagi xatolar xaqida ma’lumot berishga imkon beradi. 
Konstruktor chaqiruvchi funksiya tekshirib ko‘rishi mumkin bo‘lgan qiymat 
qaytarmagani uchun istisnolarsiz quyidagicha xatolik xaqida ma’lumot berish 
mumkin: 
1. 
Obyektni xatolik bilan qaytarish toki foydalanuvchi o‘zi tekshirib 
ko‘rsin.
2. 
Lokal bo‘lmagan o‘zgaruvchiga obyekt yaratilmagani xaqida ma’lumot 
beruvchi qiymat o‘rnatish. 
Istisnolar obyekt yaratilmagani xaqidagi ma’lumotni tashqariga uzatishga imkon 
beradi:
Vector::Vector(int size) 

if (sz<0 || max// ... 


104 

Vektor yaratilayotgan funksiyada noto‘g‘ri o‘lcham (
Size()
) xatoligini qayta 
ishlash mumkin:
Vector* f(int i) 

Vector* p; 
try { 
p = new Vector v(i); 

catch (Vector::Size) { 
// vektor noto‘qri o‘lchami 

// ... 
return p; 

 
Nazorat uchun savollar 
 
1. Istisnolarni nima uchun generatsiya va qayta ishlash kerak? 
2. Istisno generatsiyasi sintaksisini keltiring.
3. Istisnoni qayta ishlash sintaksisini keltiring. 
4. Istisnolar bilan qanday operatorlar bog‘liq? 
5. Istisnoni generatsiya qiluvchi funksiya sintaksisini keltiring. 
 
 
 
 
 


105 
13 bob. STRANDART SHABLON SINFLAR BIBLIOTEKASI 
13.1. STL tarkibi. Asosiy konteynerlar 
Biblioteka yadrosi uchta elementdan iborat: konteynerlar, algoritmlar va 
iteratorlar. Konteynerlar (containers) – bu boshqa elementlarni saqlovchi obyektlar. 
Masalan, vektor, chiziqli ro‘yxat, to‘plam. Assotsiativ konteynerlar (associative 
containers) kalitlar yordamida ularda saqlanadigan qiymatlarni tezkor olish imkonini 
yaratadi. Har bir sinf – konteynerida ular bilan ishlash uchun mo‘ljallangan 
funksiyalar to‘plami aniqlangan. Masalan, ruyxat elementlarni kiritish, chiqarish, va 
qo‘shish funksiyalarni o‘z ichiga oladi. Algoritmlar (algorithms) konteyner 
ichidagilar ustidan operatsiyalar bajaradi. Konteyner ichidagilarni initsializatsiyalash, 
qidirish, saralash va almashtirish uchun algoritmlar mavjud. Ko‘p algoritmlar 
konteyner ichidagi elementlarni chiziqi ro‘yxatini ifodalaydovchi ketma-ketlik 
(sequence) bilan ishlash uchun mo‘ljallangan. Iteratorlar (iterators) – bu konteynerga 
nisbatan ko‘rsatkich sifatida bo‘lgan obyektlar. Ular massiv elementlariga ruxsat 
oluvchi ko‘rsatkichlar kabi, konteyner ichidagiga ruxsat olish imkoni beradi.
vector
 dinamk massiv 
list  chiziqli ro‘yxat 
deque
 ikki tarafli dvustoronnyaya tartib 
set
 to‘plam 
multiset har bir elementi noyob bo‘lishi shart emas to‘plam
map
kalit/ qiymat juftlikni saqlash uchun assotsiativ ro‘yxat. 
Bunda har bir kalit bitta qiymat bilan bog‘langan. 
multimap
har bir kalit bilan ikkita yoki ko‘proq qiymatlar 
bog‘langan
stack stek 
queue
 tartib 
priority_queue birinchi o‘rindagi tartib 

Download 1.96 Mb.

Do'stlaringiz bilan baham:
1   ...   57   58   59   60   61   62   63   64   ...   83




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