22
Qiymat berish amali o’zgaruvchi aniqlanishi bilan unga boshlang’ich qiymat
o’zlashtirilishini anglatadi. Keyinchalik, bu o’zlashtirilgan qiymatni o’zgartirishingiz
ham mumkin.
Sinfning o’zgaruvchi–a’zosiga qanday qiymat o’zlashtirildi? Buning uchun
sinfda konstruktor deb ataluvchi maxsus funksiya – a’zo ishlatiladi. Zaruriy vaqtda
konstruktor bir nechta parametrni qabul qiladi. Lekin hech qanday tipdagi qiymat
qaytarmaydi. Konstruktor – bu sinf nomi bilan ustma – ust tushadigan sinf usulidir.
Sinfda konstruktorni e’lon qilinishi bilan destruktorlar ham aniqlanishi lozim.
Agarda konstruktor sinf obyektini tuzish va uning o’zgaruvchi – a’zolariga qiymat
berish vazifasini bajarsa, destruktor mavjud obyektning xotiradan o’chiradi.
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.