9- MA’RUZA
MAVZU: DO’ST FUNKSIYA VA DO’ST SINFLAR
Reja:
Konstruktor;
Destruktor;
Munosabat turlari, do’stona (friend) funksiyalar;
Do’stona (friend) sinflar;
Sinfning statik ma’lumotlari;
Obyektlar massivi va undan foydalanish;
Ko‘rsatkichlar.
Konstruktorlar
Konstruktorlar bu sinf komponenta funksiyalari bo‘lib, obyektlarni avtomatik initsializatsiya qilish uchun ishlatiladi. Konstruktorlar ko‘rinishi quyidagicha bo‘lishi mumkin:
Sinf nomi (formal parametrlar ro‘yxati)
{
//konstruktor tanasi
}
Bu komponenta funksiya nomi sinf nomi bilan bir xil bo‘lishi lozim. Misol uchun complex sinfi uchun konstruktorni quyidagicha kiritish mumkin:
complex (double re = 0.0; double im = 0.0 )
{real=re; imag=im;}
Konstruktorlar uchun qaytariluvchi tiplar, xatto void tipi ham ko‘rsatilmaydi. Dasturchi tomonidan ko‘rsatilmagan holda ham obyekt yaratilganda konstruktor avtomatik ravishda chaqiriladi.
Masalan obyekt complex cc; shaklida aniqlangan bo‘lsa, konstruktor avtomatik chaqirilib, real va imag parametrlari avtomatik ravishda 0.0 qiymatlariga ega bo‘ladi.
Ko‘zda tutilgan holda parametrsiz konstruktor va quyidagi tipdagi nusxa olish konstruktorlari yaratiladi:
T :: T (const T&)
Misol uchun
class F
{...
public : F(const T&)
...
}
Sinfda bir nechta konstruktorlar bo‘lishi mumkin, lekin ularning faqat bittasida parametrlar qiymatlari oldindan ko‘rsatilgan bo‘lishi kerak.
Konstruktor adresini hisoblash mumkin emas. Konstruktor parametri sifatida o‘z sinfining nomini ishlatish mumkin emas, lekin bu nomga ko‘rsatkichdan foydalanish mumkin.
Konstruktorni oddiy komponenta funksiya sifatida chaqirib bo‘lmaydi. Konstruktorni ikki xil shaklda chaqirish mumkin :
Do'stlaringiz bilan baham: |