Skip to content

Konstruktorlarni qayta yuklash (Constructor Overloading)

Konstruktorlarni qayta yuklash

C++ da bitta sinfda bir nechta konstruktor bo'lishi mumkin. Bu konstruktorlarni qayta yuklash deyiladi.

Har bir konstruktor turli sondagi yoki turdagi parametrlarga ega bo'lishi kerak, shunda kompilyator obyekt yaratilganda qaysi birini ishlatishni biladi.


Nima uchun konstruktorlarni qayta yuklash kerak?

  • Obyektlarni yaratishda moslashuvchanlik beradi
  • Standart yoki maxsus qiymatlarni belgilash imkonini beradi
  • Takroriy kodni kamaytiradi

Ikkita konstruktorli misol

Bu sinfda ikkita konstruktor bor: biri parametrsiz, biri parametrli:

MISOL

cpp
class Car {
  public:
    string brand;
    string model;

    Car() {
      brand = "Noma'lum";
      model = "Noma'lum";
    }

    Car(string b, string m) {
      brand = b;
      model = m;
    }
};

int main() {
  Car car1;
  Car car2("BMW", "X5");
  Car car3("Ford", "Mustang");

  cout << "Car1: " << car1.brand << " " << car1.model << "\n";
  cout << "Car2: " << car2.brand << " " << car2.model << "\n";
  cout << "Car3: " << car3.brand << " " << car3.model;
  return 0;
}

Natija:

Car1: Noma'lum Noma'lum
Car2: BMW X5
Car3: Ford Mustang

Konstruktorlarni qayta yuklash sizga maxsus qiymatlar bilan obyektlar yaratish imkonini beradi.