Sinflarni qo’llash Konstruktor haqida ma’lumot



Yüklə 20,9 Kb.
səhifə3/4
tarix14.12.2023
ölçüsü20,9 Kb.
#179122
1   2   3   4
malumot ref

Konstruktorning ta'rifi
konstruktor asosan sinfning a'zosi funktsiyasidir, u ob'ektni ishga tushiradi va unga xotira ajratadi. Konstruktorlarni osongina aniqlash mumkin, chunki ular e'lon qilingan va sinf bilan bir xil nom bilan aniqlangan. Konstruktorda qaytish turi mavjud emas; shunday qilib, ular hech narsa qaytarmaydi, hatto "bekor" ham emas. Konstruktor har doim sinfning ochiq qismida aniqlanadi.
Sinfda bir nechta konstruktor bo'lishi mumkin; ularni o'tgan argumentlar soni va turiga qarab ajratish mumkin. Agar sinfda bir nechta konstruktor mavjud bo'lsa; yopiq konstruktor (hech narsa qilmaydigan konstruktor) ular bilan birga aniqlanishi kerak; u hech narsa qilmaydi, lekin kompilyatorni qondiradi.
Konstruktorlarni standart argumentlar bilan ham aniqlash mumkin. Holbuki, ular ob'ektni "dinamik ravishda" ishga tushiradilar. Konstruktorlar na meros qilib olinishi mumkin, na virtual, balki ular haddan tashqari yuklanishi mumkin. Ularni manziliga yo'naltirish mumkin emas.
Konstruktorlarning turlari
Konstruktorlarning asosan uch turi mavjud - standart, parametrlangan va nusxa ko'chirish konstruktorlari.



  • Odatiy konstruktor: Bu konstruktorga hech qanday dalil berilmagan konstruktor. Odatiy konstruktorda parametr yo'q, lekin sukut bo'yicha konstruktorga qiymatlar sukut bo'yicha (dinamik ravishda) o'tkazilishi mumkin.

  • Parametrlangan konstruktor: Ushbu turdagi konstruktor argumentlarni qabul qiladi; ma'lumotlar a'zolariga turli xil qiymatlarni argument sifatida berishimiz mumkin.

  • Konstruktorni nusxalash: Nusxalashtiruvchi konstruktor boshqa turdagi konstruktorlardan farq qiladi, chunki u boshqa ob'ekt manzilini argument sifatida qabul qiladi.

Konstruktorni amalga oshirish
Const {int a, b sinf; public: Const () // parametri bo'lmagan konstruktor {a = 0; b = 0; } Const (int c, int d) {// parametri a = c bo'lgan konstruktor; c = d; }}; int main () {Const C1; C2 (10,20); // bu bayonot konstruktorni chaqiradi}
C1 yaratilganda parametrsiz konstruktor bajariladi, chunki C1 hech qanday parametr o'tkazmaydi. C2 yaratilganda parametr bilan konstruktor bajariladi, chunki u konstruktorga ikkita butun sonni o'tkazadi.
Destruktorlar sinf nomi oldiga tilda (~) belgisini qo’yish orqali aniqlanadi. Destruktorlar hech qanday argument qabul qilmaydi va hech qanday qiymat qaytarmaydi. Mushuk sinfining destruktori quyidagicha ko’rinishda aniqlanadi:
~Mushuk()
Boshlang’ich berilgan konstruktor va destruktorlar
Agarda siz konstruktor yoki destruktorni aniqlamasangiz, siz uchun bu ishni kompilyatorning o’zi bajaradi. Standart konstruktor va destruktorlar birorta argument qabul qilmaydi va hech qanday amal bajarmaydi.

Yüklə 20,9 Kb.

Dostları ilə paylaş:
1   2   3   4




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©www.azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin