5-ma’ruza. Konstruktorlar va destruktorlar. A’zo o’zgaruvchilarni initsializatsiyalash




Download 321.25 Kb.
Pdf ko'rish
bet1/4
Sana10.04.2023
Hajmi321.25 Kb.
#50126
  1   2   3   4
Bog'liq
konstruktor
3-topshiriq cisco, 17 mayga referat, aaa, №1-Mustaqil ish TTS21-01 A-B-g (1)


5-ma’ruza. Konstruktorlar va destruktorlar. A’zo o’zgaruvchilarni 
initsializatsiyalash 
 
1. Konstruktorlar va destruktorlar 
Agar sinfning (yoki strukturaning) barcha a'zolari ochiq bo‘lsa, biz sinfni 
(yoki strukturani) to‘g‘ridan-to‘g‘ri boshlang‘ich ro‘yxati yoki bir xil 
initsializatsiya (C ++ 11 da) yordamida initsializatsiyalashimiz mumkin: 
class Boo 

public: 
int m_a; 
int m_b; 
}; 
int main() 

Boo boo1 = { 7, 8 }; // initsializatorlar ro‘yxati 
Boo boo2 { 9, 10 }; // uniform-initsializatsiya (C++11) 
return 0; 

Ammo, agar biz sinfning har qanday o‘zgaruvchisini xususiy qilsak
ularni to‘g‘ridan-to‘g‘ri initsializatsiyalay olmaymiz. Bu yerda, agar 
o‘zgaruvchiga to‘g‘ridan-to‘g‘ri kira olmasangiz (chunki u xususiy bo‘lsa), uni 
to‘g‘ridan-to‘g‘ri initsializatsiya qila olmaysiz, degan mantiqiy fikr mavjud. 
Xususiy a'zo o‘zgaruvchilari bo‘lgan sinfni konstruktorlardan 
foydalangan holda initsializatsiyalash mumkin. 
Konstruktor - bu bir xil sinfdagi obyekt yaratilganda avtomatik ravishda 
chaqiriladigan sinf metodining maxsus turi. Konstruktorlar, odatda, 
standart / foydalanuvchi tomonidan berilgan qiymatlarga ega bo‘lgan sinf 
a'zolarining o‘zgaruvchilarini initsializatsiyalash yoki ishlatilayotgan sinf 
uchun zarur bo‘lgan konfiguratsiya bosqichlarini bajarish uchun ishlatiladi 
(masalan, ma'lum bir fayl yoki ma'lumotlar bazasini ochish). 
Oddiy metodlardan farqli o‘laroq, konstruktorlar ularni nomlashning 
ma'lum qoidalariga ega: 
- Konstruktorlar har doim sinf bilan bir xil nomga ega bo‘lishi kerak 
(katta va kichik harflar hisobga olinadi); 
- Konstruktorlar qaytish turiga ega emas (hatto void ham emas). 


E'tibor bering, konstruktorlar faqat initsializatsiya uchun mo‘ljallangan. 
Mavjud obyektni qayta tiklash uchun konstruktorni chaqirishga urinmaslik 
kerak. Bu xatosiz kompilyatsiya qilinishi mumkin bo‘lsa-da, natijalar 
kutilmagan bo‘lishi mumkin (kompilyator vaqtinchalik obyekt yaratadi va 
keyin uni o‘chiradi). 

Download 321.25 Kb.
  1   2   3   4




Download 321.25 Kb.
Pdf ko'rish

Bosh sahifa
Aloqalar

    Bosh sahifa



5-ma’ruza. Konstruktorlar va destruktorlar. A’zo o’zgaruvchilarni initsializatsiyalash

Download 321.25 Kb.
Pdf ko'rish