C++ konstruktorlar


ULASHISH

Konstruktorlar

Konstruktor — sinf obyekti yaratilganda avtomatik ravishda chaqiriladigan maxsus metod.

Konstruktor yaratish uchun sinf nomi bilan bir xil nomni yozing va undan keyin qavslar () qo‘ying:

Misol

class MyClass {     // The class   public:           // Access specifier     MyClass() {     // Constructor       cout << "Hello World!";     } }; int main() {   MyClass myObj;    // Create an object of MyClass (this will call the constructor)   return 0; }
O‘zingiz sinab ko‘ring »

Konstruktor qoidalari

  • Konstruktor sinf nomi bilan bir xil nomga ega.
  • U qaytariladigan tipga ega emas (hatto void ham emas).
  • U odatda public qilib e’lon qilinadi.
  • U obyekt yaratilganda avtomatik ravishda chaqiriladi.

Parametrli konstruktor

Konstruktorlar ham (xuddi oddiy funksiyalar kabi) parametrlar qabul qila oladi, bu atributlarga boshlang‘ich qiymatlar berishda foydali bo‘lishi mumkin.

Quyidagi sinfda brand, model va year atributlari hamda turli parametrlarga ega konstruktor bor. Konstruktor ichida atributlarga konstruktor parametrlarining qiymatlarini beramiz (brand=x va h.k.).

Konstruktorni chaqirganimizda (sinf obyektini yaratish orqali) unga parametrlar uzatamiz va ular mos atributlarga xuddi shu qiymatlarni beradi:

Misol

class Car {        // The class   public:          // Access specifier     string brand;  // Attribute     string model;  // Attribute     int year;      // Attribute     Car(string x, string y, int z) { // Constructor with parameters       brand = x;       model = y;       year = z;     } }; int main() {   // Create Car objects and call the constructor with different values   Car carObj1("BMW", "X5", 1999);   Car carObj2("Ford", "Mustang", 1969);   // Print values   cout << carObj1.brand << " " << carObj1.model << " " << carObj1.year << "\n";   cout << carObj2.brand << " " << carObj2.model << " " << carObj2.year << "\n";   return 0; }
O‘zingiz sinab ko‘ring »


Sinfdan tashqarida aniqlangan konstruktor

Konstruktorni ko‘rinish sohasini aniqlash operatori :: yordamida sinfdan tashqarida ham aniqlashingiz mumkin.

Misol

class Car {        // The class   public:          // Access specifier     string brand;  // Attribute     string model;  // Attribute     int year;      // Attribute     Car(string x, string y, int z); // Constructor declaration }; // Constructor definition outside the class Car::Car(string x, string y, int z) {   brand = x;   model = y;   year = z; } int main() {   // Create Car objects and call the constructor with different values   Car carObj1("BMW", "X5", 1999);   Car carObj2("Ford", "Mustang", 1969);   // Print values   cout << carObj1.brand << " " << carObj1.model << " " << carObj1.year << "\n";   cout << carObj2.brand << " " << carObj2.model << " " << carObj2.year << "\n";   return 0; }
O‘zingiz sinab ko‘ring »

Konstruktorlar nima uchun foydali

Obyekt yaratganingizda konstruktorlar o‘z-o‘zidan ishga tushadi. Ular hamma narsa darhol tayyor bo‘lishi uchun kerakli sozlashlarni bajaradi.

Buni shunday tasavvur qiling: Pitsa (obyekt) buyurtma qilganingizda, konstruktor — pitsa sizga yetib kelishidan oldin unga sous, pishloq va boshqa masalliqlarni qo‘shadigan oshpaz. Buni o‘zingiz qilishingiz shart emas!




W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!