Javoblar Dasturlash asoslari


Sinfdagi massivlarni initsializatsiyalash



Download 132,23 Kb.
bet23/40
Sana06.07.2022
Hajmi132,23 Kb.
#743820
1   ...   19   20   21   22   23   24   25   26   ...   40
Bog'liq
Javoblar Dasturlash asoslari

Sinfdagi massivlarni initsializatsiyalash
Bir massivli sinfni a'zo o'zgaruvchi sifatida ko'rib chiqaylik:
class Values
{
private:
const int m_array[7];
};
C++11dan oldin, biz faqat initsializatsiyalash ro'yxati orqali qatorni nol qila olamiz:
class Values
{private:
const int m_array[7];
public:
Values(): m_array {} // massivga nolni joylashtirish
{// Agar biz massiv qiymatlarga ega bo'lishini xohlasak, bu yerda ta’minlashdan foydalanishimiz kerak }};
Biroq, C++ 11 da siz bir xil initsializatsiya yordamida massivni to'liq initsializatsiylashingiz mumkin:
class Values{
private:
const int m_array[7];
public:
Values(): m_array { 3, 4, 5, 6, 7, 8, 9 } // massivni initsializatsiyalash uchun uniform-initsializatsiyadan foydalanish
{ } };
66. Sinflar tarkibidagi a'zo o'zgaruvchilarni initsializatsiyalash
Sinflar tarkibidagi a'zo o'zgaruvchilarni initsializatsiyalash A'zolarni initsializatsiyalash ro'yxati, shuningdek, sinf a'zolarini initsializatsiyalash uchun ham ishlatilishi mumkin:
#include
class A { public:
A(int a)
{ std::cout << "A " << a << "\n"; } };
class B
{ private: A m_a; public: B(int b) : m_a(b-1) // konstruktor A (int) m_a a'zosini initsializatsiyalash uchun chaqiriladi
{ std::cout << "B " << b << "\n"; } };
int main() { B b(7); return 0; }
67. Sinflarni initsializatsiyalashda initsializatsiyalash ro'yxatlaridafoydalanish Agar initsializatsiyalash ro'yxati konstruktor nomi bilan bir qatorga to'g'ri kelsa, hamma narsani bitta qatorga qo'yish yaxshidir:
class Values { private: int m_value1; double m_value2; char m_value3;
public:
Values() : m_value1(3), m_value2(4.5), m_value3('d') // всё находится в одной строке { } };
Agar a'zolarni initsializatsiyalash ro'yxati konstruktor nomi yozilgan qatorga to'g'ri kelmasa, keyingi satrda (defis yordamida) boshlang'ichlarni kiritish kerak: class Values { private: int m_value1; double m_value2; char m_value3; public: Values(int value1, double value2, char value3='d') bu satrda juda ko'p narsalar bor, : m_value1(value1), m_value2(value2), m_value3(value3) // shuning uchun biz initsializatorlarni yangi qatorga joylashtiramiz (hoshiyani ishlatishni unutmang) { } }; Agar barcha initsializatorlar bitta qatorga to'g'ri kelmasa, siz har bir initsializator uchun alohida qator ajratishingiz mumkin: class Values { private: int m_value1; double m_value2; char m_value3; float m_value4; public:
Values(int value1, double value2, char value3='d', float value4=17.5) // на этой строке уже и так много чего, : m_value1(value1), // поэтому выделяем каждому инициализатору отдельную строку, не забывая о запятой в конце m_value2(value2), m_value3(value3), m_value4(value4) { } }; 68. Sinfning statik o’zgaruvchi-a’zolari

Download 132,23 Kb.

Do'stlaringiz bilan baham:
1   ...   19   20   21   22   23   24   25   26   ...   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