sinfning statik elementlari va metodlari

DOCX 7 стр. 20,4 КБ Бесплатная загрузка

Предварительный просмотр (5 стр.)

Прокрутите вниз 👇
1 / 7
7-amaliy mashg’ulot. sinfning statik elementlari va metodlari sinfning statik o’zgaruvchi-a’zolari. oldingi darslardan statik o'zgaruvchilar o'z qiymatlarini saqlab qolishlarini va ular e'lon qilingan blokdan chiqqandan keyin ham yo'q qilinmasligini bilib oldik, masalan: #include using namespace std; int generateid() { static int s_id = 0; return s_id++; } int main() { cout using namespace std; class value { public: int m_value = 3; }; int main() { value first; value second; first.m_value = 4; cout using namespace std; class value { public: static int s_value; }; int value::s_value = 3; int main() { value first; value second; first.s_value = 4; cout using namespace std; class value { public: static int s_value; // statik a'zo o'zgaruvchini e'lon qilish }; int value::s_value = 3; // statik a'zo o'zgaruvchini aniqlash int main() { // eslatma: biz bu yerda value obyektini yaratmaymiz. value::s_value = 4; cout class value { public: static constexpr double s_value = 3.4; …
2 / 7
metodlar ma'lum bir obyektga bog'lanmaganligi sababli, ularni to'g'ridan-to'g'ri sinf nomi va (::) operatori orqali, shuningdek sinf obyektlari orqali chaqirish mumkin (lekin bu tavsiya qilinmaydi). barcha statik a'zolari bo'lgan sinflar haqida ogohlantirish. barcha statik a'zolar bilan sinflar yozishda ehtiyot bo'ling. bu "sof statik sinflar" foydali bo'lishi mumkin bo'lsa-da, ularning kamchiliklari ham bor. birinchidan, barcha statik a'zolar faqat bir marta yaratilgani uchun, "sof statik sinf" ning bir nechta nusxalari bo'lishi mumkin emas (sinfni klonlamasdan va uni qayta nomlamasdan). masalan, agar biz idgenerator sinfining ikkita mustaqil ob'ektiga muhtoj bo'lsak, bu "sof statik" sinf orqali mumkin bo'lmaydi. ikkinchidan, global o'zgaruvchilar haqidagi darsdan biz bilamizki, global o'zgaruvchilar xavfli, chunki kodning har qanday qismi o'z qiymatlarini o'zgartirishi mumkin va oxir -oqibat, bu o'zgaruvchilarga aloqasi yo'qdek ko'rinadigan kodning boshqa qismlarini o'zgartirishi mumkin. xuddi shu narsa "sof statik" sinflar uchun ham amal qiladi. hamma a'zolar sinfga tegishli (va uning obyektlariga emas) va sinflar global miqyosga ega bo'lgani uchun, …
3 / 7
inf ob'ektlarini yaratish shart emas. sinflar "mutlaqo statik" bo'lishi mumkin (barcha statik a'zo-o'zgaruvchilari va statik metodlar bilan). biroq, bunday sinflar, aslida, global miqyosda funksiyalar va o'zgaruvchilarni e'lon qilish bilan tengdir va agar sizda yaxshi sabab bo'lmasa, undan qochish kerak. masalalar 1. nafaqa. o’qituvchining nafaqa daftarchasida qayd etilgan dastlabki summa 1000 so’m. 30 yil ishlagan o’qituvchi qancha miqdordagi pensiya bilan nafaqaga chiqadi. (eslatma: jamg’arib boriladigan pensiya miqdori 1%) masalani yechish uchun ko’rsatma: oylik maosh, jbpm miqdori, qayd etilgan dastlabki summa, yil 2. kredit. bank mijozlarga kredit bermoqda. mijoz kredit olishi uchun yillik maoshi x so’mdan oshishi lozim. z miqdorda kredit olgan mijoz, uni qancha muddatda to’lay oladi. bankning yillik foiz stavkasi y %. bank yillik foiz stavkasini har uch yilda k % foizga kamaytirishni rejalashtirgan. masalani yechish ko’rsatmalar: yillik maosh, kredit miqdori, yillik foiz stavkasi, yillik foiz stavkasi kamayish miqdori 3. o’quv markazi. talaba beshta fandan imtihon topshiradi. bu fanlardan olingan …
4 / 7
sinfning statik elementlari va metodlari - Page 4
5 / 7
sinfning statik elementlari va metodlari - Page 5

Хотите читать дальше?

Скачайте все 7 страниц бесплатно через Telegram.

Скачать полный файл

О "sinfning statik elementlari va metodlari"

7-amaliy mashg’ulot. sinfning statik elementlari va metodlari sinfning statik o’zgaruvchi-a’zolari. oldingi darslardan statik o'zgaruvchilar o'z qiymatlarini saqlab qolishlarini va ular e'lon qilingan blokdan chiqqandan keyin ham yo'q qilinmasligini bilib oldik, masalan: #include using namespace std; int generateid() { static int s_id = 0; return s_id++; } int main() { cout using namespace std; class value { public: int m_value = 3; }; int main() { value first; value second; first.m_value = 4; cout using namespace std; class value { public: static int s_value; }; int value::s_value = 3; int main() { value first; value second; first.s_value = 4; cout using namespace std; class value { public: static int s_value; // statik a'zo o'zgaruvchini e'lon qilish }; int value::s_value = 3; …

Этот файл содержит 7 стр. в формате DOCX (20,4 КБ). Чтобы скачать "sinfning statik elementlari va metodlari", нажмите кнопку Telegram слева.

Теги: sinfning statik elementlari va … DOCX 7 стр. Бесплатная загрузка Telegram