Nazariy qism 5-Amaliy mashg’ulot stl komponentalari va konteynerlar bilan tanishish. Shablonlar standart kutubxonasining tuzilmasi. Foydalanuvchining shablonlari
Download 0.66 Mb.
|
123 Ashuraliyev Ilg\'or
- Bu sahifa navigatsiya:
- Algoritmlar
- Amaliy qism: 2. “Kompyuter”
NAZARIY QISM 5-Amaliy mashg’ulot STL komponentalari va konteynerlar bilan tanishish. Shablonlar standart kutubxonasining tuzilmasi. Foydalanuvchining shablonlari STL-standart andazalar kutubxonasi bo’lib(STL) - bu dasturlashning umumiy tuzilmalari va ro'yxatlari, steklari, massivlari va hk kabi funktsiyalarni ta'minlash uchun shablonlar sinflari to'plami hisoblanadi. STL uchta tarkibiy qismdan iborat: Konteynerlar Algoritmlar Iteratorlar Konteyner - bu xotirada ma'lumotlarni uyushgan tartibda saqlaydigan ob'ekt. STL-dagi konteynerlar shablon sinflari tomonidan amalga oshiriladi va shuning uchun har xil turdagi ma'lumotlarni saqlash uchun ularni osonlikcha o'zgartirish va sozlash mumkin. Konteynerlarda joylashgan ma'lumotlarni qayta ishlash uchun ishlatiladigan protsedura algoritm sifatida belgilanadi. STL boshlang'ich, qidirish, nusxalash, saralash va birlashtirish, nusxalash, saralash va birlashtirish kabi vazifalarni qo'llab-quvvatlash uchun juda ko'p turli xil algoritmlarni o'z ichiga oladi. Algoritmlar shablon funktsiyalari bilan amalga oshiriladi. 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 ob’ektlar. Ular massiv elementlariga ruxsat oluvchi ko‘rsatkichlar kabi, konteyner ichidagiga ruxsat olish imkoni beradi. begin () - Vektordagi birinchi elementga ishora qiluvchi iteratorni qaytaradi end () - Vektordagi oxirgi elementga ishora qiluvchi iteratorni qaytaradi Vektorlar element kiritilganda yoki o'chirilganda avtomatik ravishda o'lchamlarini o'zgartirish qobiliyatiga ega bo'lgan dinamik massivlar bilan bir xil, ularni saqlash konteyner tomonidan avtomatik ravishda boshqariladi. Vektor elementlari tutashgan omborga joylashtiriladi, shunda ularga iteratorlar yordamida o'tish va o'tish mumkin. Vektorlarda ma'lumotlar oxiriga kiritiladi. Oxirida qo'shish differentsial vaqtni oladi, chunki ba'zida qatorni kengaytirishga ehtiyoj paydo bo'lishi mumkin. Oxirgi elementni olib tashlash faqat doimiy vaqtni oladi, chunki o'lchamlarning o'zgarishi bo'lmaydi. rend () - Vektordagi birinchi elementdan oldingi nazariy elementga ishora qiluvchi teskari iteratorni qaytaradi (teskari uchi deb qaraladi) cbegin () - Vektorning birinchi elementiga ishora qiluvchi doimiy iteratorni qaytaradi. cend () - Vektorning oxirgi elementidan keyin keladigan nazariy elementga ishora qiluvchi doimiy iteratorni qaytaradi. crbegin () - Vektordagi oxirgi elementga ishora qiluvchi (teskari boshlanish) doimiy teskari iteratorni qaytaradi. U oxirgi elementdan birinchi elementga o'tadi crend () - Vektorning birinchi elementidan oldingi nazariy elementga ishora qiluvchi doimiy teskari iteratorni qaytaradi (teskari uchi deb qaraladi) 6-Amaliy mashg’ulot Sinflarni qo’llash. Sinflarning konstruktor va destruktorlari. Sinf - bu bizning dasturimizda foydalanishimiz mumkin bo'lgan foydalanuvchi belgilaydigan ma'lumot turi va u ob'ekt tuzuvchisi yoki ob'ektlarni yaratish uchun "reja" sifatida ishlaydi. Sinf yaratish uchun class kalit so'zdan foydalaning. " MyClass" Nomli sinf yaratamiz. Sinfni e'lon qilish uchun class kalitli so'zi, undan so'ng ochiluvchifiguraliqavs, so'ng xossalar va metodlari ro'yxati ishlatiladi. Sinfni e'lon qilish yopiluvchi figurali qavs va nuqtali vergul orqali yakunlanadi. Masalan, guruh sinfini quyidagicha e'lon qilish mumkin. Class Guruh { unsigned int Talaba ; unsigned int yosh ; void fan_baholari() } Sinf elementlari sinfga tegishli funktsiyalarida ishlatilishidan oldin ta'riflangan bo’lishi shart emas. Huddi shunday bir funktsiyadan hali ta'rifi berilmagan ikkinchi funktsiyaga murojaat qilish mumkin. Komponentalarga murojaat huquqlari. Komponentalarga murojaat huquqi murojaat spetsifikatorlari yordamida boshqariladi. Bu spetsifikatorlar : Protected – himoyalangan; Private – hususiy; Public – umumiy; Amaliy qism: 2. “Kompyuter” Class(sinf)i yaratilsin. O’zgaruvchilar va funksiyalardan foydalanib 5 tadan kam bo’lmagan ob’ektlar xosil qilinsin. Dasturda Konstruktor va destruktorlardan foydalanilsin. #include using namespace std; class Kompyuter{ public: string markasi; string modeli; int otkuchi; int yili; private: string hujjatlar; }; int main() { Kompyuter A1; A1.markasi="AVTECH"; A1.modeli="Core 11"; A1.otkuchi=100000; A1.yili=2023; cout<<"Kompyuter markasi : "< } Download 0.66 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling