Javoblar Dasturlash asoslari


C++da set metodlarini yaratish va unga oid misollar



Download 132,23 Kb.
bet33/40
Sana06.07.2022
Hajmi132,23 Kb.
#743820
1   ...   29   30   31   32   33   34   35   36   ...   40
Bog'liq
Javoblar Dasturlash asoslari

116. C++da set metodlarini yaratish va unga oid misollar
class Date
{ private: int m_day; int m_month; int m_year;
public: int getDay()
{ return m_day; } // day uchun getter
void setDay(int day)
{ m_day = day; } // day uchun setter
int getMonth() { return m_month; } // month uchun getter
void setMonth(int month) { m_month = month; } // month uchun setter
int getYear() { return m_year; } // year uchun gettter
void setYear(int year) { m_year = year; } // year uchun setter };
117. C++da get metodlarini yaratish va unga oid misollar
class Date
{ private: int m_day; int m_month; int m_year;
public: int getDay()
{ return m_day; } // day uchun
getter void setDay(int day)
{ m_day = day; } // day uchun setter
int getMonth() { return m_month; } // month uchun getter
void setMonth(int month)
{ m_month = month; } // month uchun setter
int getYear() { return m_year; } // year uchun gettter
void setYear(int year) { m_year = year; } // year uchun setter };
118. Ob’yektlarni inisializasiya qilish
Initsializatsiyani nusxalash. Oddiy o'zgaruvchilar singari, sinflar ham nusxa ko'chirish yordamida ishga tushirilishi mumkin: int a = 7; // nusxa ko'chirishni boshlash Fraction eight = Fraction(8); // nusxa ko'chirish boshlanishi, Fraction (8, 1) chaqiriladi Fraction nine = 9; // nusxa ko'chirishni boshlash. Tuzuvchi 9 ni Fraktsiyaga o'tkazish usullarini qidiradi, natijada Fraction (9, 1) konstruktoriga murojaat bo'ladi. Shu bilan birga, sinfni ishga tushirishning bu shaklidan qochish tavsiya etiladi, chunki bu unchalik samarasiz bo'lishi mumkin. Bir xil boshlang'ich, to'g'ridan -to'g'ri ishga tushirish va nusxa ko'chirish boshlang'ich ma'lumotlarning asosiy turlari bilan bir xil bo'lsa -da, bu sinflarga umuman to'g'ri kelmaydi (garchi yakuniy natija ko'pincha bir xil bo'ladi). Bu masalani keyingi darslarda batafsil ko'rib chiqamiz. Qoida: O'zingizning sinflaringiz obyektlari bilan nusxa ko'chirishni ishlatmang

119. C++da strukturalar yaratish


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.
120. C++da sinflar yaratish
Sinflar. C++ tilining eng foydali xususiyatlaridan biri bu muayyan muammolarni hal qilish uchun ko'proq mos keladigan ma'lumotlar turlarini aniqlashdir. O'zingizning shaxsiy ma'lumotlar turlarini yaratish uchun ro'yxatlar va tuzilmalardan qanday foydalanish mumkinligini allaqachon ko'rgansiz. Masalan, sanani saqlash uchun struktura quyidagicha e’lon qilinadi.
struct DateStruct { int day; int month; int year; };
Obyektga yo'naltirilgan dasturlashda ma'lumotlar turlari nafaqat ma'lumotlarni, balki shu ma'lumotlar bilan ishlaydigan funksiyalarni ham o'z ichiga olishi mumkin. C++ bu ma'lumot turini aniqlash uchun class kalit so'zidan foydalanadi. class kalit so'zidan foydalanish foydalanuvchi tomonidan belgilanadigan yangi ma'lumotlar turini, sinfini aniqlaydi.
struct DateStruct
{ int day; int month; int year; };
class DateClass {
public: int m_day; int m_month; int m_year; };
Bu yerda faqat muhim farq - bu public kalit so'zi Strukturani e'lon qilish singari, sinfni e'lon qilish ham hech qanday xotira ajratmaydi. Sinfdan foydalanish uchun siz ushbu turdagi o'zgaruvchini e'lon qilishingiz kerak:
121. C++da private a’zolari hosil qilish
Yopiq a'zolar (yoki "private a'zolar") - faqat shu sinfning boshqa a'zolari kira oladigan sinf a'zolari. main() DateClass a'zosi bo'lmaganligi sababli, date obyekti shaxsiy a'zolariga kira olmaydi.Kirish funksiyasi - bu qisqa umumiy funksiya, uning vazifasi sinfning yopiq a'zolarining o'zgaruvchisini olish yoki o'zgartirishdir. Masalan: class MyString
{ private: char *m_string; // dinamik ravishda qatorni ajratish i
nt m_length; // satr uzunligini kuzatish uchun o'zgaruvchidan foydalaning
public: int getLength() { return m_length; } // m_length qiymatini olish uchun kirish funktsiyasi }; Bu yerda getLength () - bu m_length qiymatini qaytaradigan kirish funksiyasi.
122. C++da public a’zolari hosil qilish
Yopiq a'zolar (yoki "private a'zolar") - faqat shu sinfning boshqa a'zolari kira oladigan sinf a'zolari. main() DateClass a'zosi bo'lmaganligi sababli, date obyekti shaxsiy a'zolariga kira olmaydi.Kirish funksiyasi - bu qisqa umumiy funksiya, uning vazifasi sinfning yopiq a'zolarining o'zgaruvchisini olish yoki o'zgartirishdir. Masalan: class MyString
{ private: char *m_string; // dinamik ravishda qatorni ajratish i
nt m_length; // satr uzunligini kuzatish uchun o'zgaruvchidan foydalaning
public: int getLength() { return m_length; } // m_length qiymatini olish uchun kirish funktsiyasi }; Bu yerda getLength () - bu m_length qiymatini qaytaradigan kirish funksiyasi.

Download 132,23 Kb.

Do'stlaringiz bilan baham:
1   ...   29   30   31   32   33   34   35   36   ...   40




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish