}
Xulosa:
Ma'lumki, C++ standart kutubxonasi bizga qulay bo’lishi uchun yaratilgan sinflarga to'la. string, vector va array - barchasi sinf turlari! Shuning uchun, siz ushbu turdagi har qanday obyektni yaratganingizda, siz sinf obyektini yaratasiz va agar siz ushbu obyektlar yordamida funksiyani chaqirsangiz, siz metodni chaqirasiz: C++ da strukturalar haqida eslatma. C da strukturalar faqat ma'lumotlarni saqlashi mumkin va ular bilan bog'liq metodlar bo'lmasligi mumkin. C++ da sinflarni loyihalashdan so'ng (class kalit so'zidan foydalangan holda) Bjarne Stroustrup struktura (C dan meros bo'lib o'tgan) bog'liq metodlarga ega bo'lishi kerakligi haqida o'ylab ko'rdi. Biroz o'ylanib, nima kerakligini hal qildi. Shuning uchun, yuqoridagi dasturlarda biz sinf o'rniga struct kalit so'zidan foydalanishimiz mumkin va hamma narsa ishlaydi!
Ko'pgina ishlab chiquvchilar bu noto'g'ri qaror, deb o'ylashadi, chunki bu muammolarga olib kelishi mumkin, masalan, sinf xotirani o'z -o'zidan tozalaydi (masalan, xotira ajratilgan sinf) sinfning vayron bo'lishidan oldin uni xalos qiladi), lekin struktura bilan ishlashda buni taxmin qilish xavfli. Shuning uchun, faqat ma'lumotlarni saqlash uchun ishlatiladigan strukturalar uchun struct kalit so'zidan foydalanish hamda ma'lumotlar va funksiyalarni birlashtirishni talab qiladigan obyektlarni aniqlash uchun class kalit so'zidan foydalanish tavsiya etiladi.
Qoidalar: faqat ma'lumotlarni saqlash uchun ishlatiladigan struktura uchun struct kalit so'zidan foydalaning. Ma'lumot va funksiyalarni birlashtirgan obyektlar uchun class kalit so'zidan foydalaning.
Men 204-guruh talabasi Qayumov Jmashid labaratoriya mashg`ulotini bajarish davomida sinflar va obyektlar haqidagi juda ko`p tushunchalarga ega bo`ldim. Sinf tuzish tartibini diqqat bilan kuzatib, o`rganib chiqdim. Uning xossalari, tasvirlash usullari, dasturni ishlatishda, unda metodlar yaratish ,konstruktor va destruktorlarni ishlatishni va sinflarda qullab malumotlarga ega bo’ldim. Ma'lumki, C++ standart kutubxonasi bizga qulay bo’lishi uchun yaratilgan sinflarga to'la. string, vector va array - barchasi sinf turlari! Shuning uchun, siz ushbu turdagi har qanday obyektni yaratganingizda, siz sinf obyektini yaratasiz va agar siz ushbu obyektlar yordamida funksiyani chaqirsangiz, siz metodni chaqirasiz: C++ da strukturalar haqida eslatma. C da strukturalar faqat ma'lumotlarni saqlashi mumkin va ular bilan bog'liq metodlar bo'lmasligi mumkin. C++ da sinflarni loyihalashdan so'ng (class kalit so'zidan foydalangan holda) Bjarne Stroustrup struktura (C dan meros bo'lib o'tgan) bog'liq metodlarga ega bo'lishi kerakligi haqida o'ylab ko'rdi. Biroz o'ylanib, nima kerakligini hal qildi. Shuning uchun, yuqoridagi dasturlarda biz sinf o'rniga struct kalit so'zidan foydalanishimiz mumkin va hamma narsa ishlaydi! Ko'pgina ishlab chiquvchilar bu noto'g'ri qaror, deb o'ylashadi, chunki bu muammolarga olib kelishi mumkin, masalan, sinf xotirani o'z -o'zidan tozalaydi (masalan, xotira ajratilgan sinf) sinfning vayron bo'lishidan oldin uni xalos qiladi), lekin struktura bilan ishlashda buni taxmin qilish xavfli. Shuning uchun, faqat ma'lumotlarni saqlash uchun ishlatiladigan strukturalar uchun struct kalit so'zidan foydalanish hamda ma'lumotlar va funksiyalarni birlashtirishni talab qiladigan obyektlarni aniqlash uchun class kalit so'zidan foydalanish tavsiya etiladi.
Qoidalar: faqat ma'lumotlarni saqlash uchun ishlatiladigan struktura uchun struct kalit so'zidan foydalaning. Ma'lumot va funksiyalarni birlashtirgan obyektlar uchun class kalit so'zidan foydalaning
Do'stlaringiz bilan baham: |