Konstruktorlar (Constructors)
Konstruktorlar
Konstruktor — bu sinf obyekti yaratilganda avtomatik ravishda chaqiriladigan maxsus metoddir.
Konstruktor yaratish uchun sinf bilan bir xil nomdan foydalaning va qavslar () qo'shing:
MISOL
cpp
class MyClass { // Sinf
public: // Kirish spetsifikatori
MyClass() { // Konstruktor
cout << "Salom Dunyo!";
}
};
int main() {
MyClass myObj; // MyClass obyektini yaratish (konstruktor chaqiriladi)
return 0;
}KONSTRUKTOR QOIDALARI
- Konstruktor sinf bilan bir xil nomga ega
- Uning qaytish turi yo'q (
voidham emas) - Odatda public deb e'lon qilinadi
- Obyekt yaratilganda avtomatik chaqiriladi
Parametrli konstruktor
Konstruktorlar ham oddiy funksiyalar kabi parametrlar qabul qilishi mumkin. Bu atributlarga boshlang'ich qiymat berish uchun foydali.
MISOL
cpp
class Car { // Sinf
public: // Kirish spetsifikatori
string brand; // Atribut
string model; // Atribut
int year; // Atribut
Car(string x, string y, int z) { // Parametrli konstruktor
brand = x;
model = y;
year = z;
}
};
int main() {
// Car obyektlarini yaratish va konstruktorni turli qiymatlar bilan chaqirish
Car carObj1("BMW", "X5", 1999);
Car carObj2("Ford", "Mustang", 1969);
// Qiymatlarni chiqarish
cout << carObj1.brand << " " << carObj1.model << " " << carObj1.year << "\n";
cout << carObj2.brand << " " << carObj2.model << " " << carObj2.year << "\n";
return 0;
}Sinf tashqarisida aniqlangan konstruktor
Konstruktorni sinf tashqarisida :: soha ajratish operatori yordamida ham aniqlash mumkin:
MISOL
cpp
class Car { // Sinf
public: // Kirish spetsifikatori
string brand; // Atribut
string model; // Atribut
int year; // Atribut
Car(string x, string y, int z); // Konstruktor e'loni
};
// Sinf tashqarisida konstruktor aniqlash
Car::Car(string x, string y, int z) {
brand = x;
model = y;
year = z;
}
int main() {
Car carObj1("BMW", "X5", 1999);
Car carObj2("Ford", "Mustang", 1969);
cout << carObj1.brand << " " << carObj1.model << " " << carObj1.year << "\n";
cout << carObj2.brand << " " << carObj2.model << " " << carObj2.year << "\n";
return 0;
}Konstruktorlar nima uchun foydali?
Konstruktorlar obyekt yaratilganda o'z-o'zidan ishlaydi. Ular hamma narsani darhol sozlab beradi.
O'YLANG
Pitsa buyurganingizni tasavvur qiling (obyekt) — konstruktor bu pizzachi bo'lib, sous, pishloq va qo'shimchalarni sizga yetkazishdan oldin tayyorlab qo'yadi — siz buni o'zingiz qilishingiz shart emas!
