3.4 Yapıcılar (Constructors)

C++'da yapıcılar, bir sınıfın nesneleri oluşturulduğunda otomatik olarak çağrılan özel metotlardır. Yapıcılar, nesnenin başlangıç değerlerini belirlemek ve nesne oluşturulurken gerekli olan diğer işlemleri gerçekleştirmek için kullanılır. Yapıcılar, sınıfın adını taşır ve dönüş tipi yoktur.

Yapıcıların Özellikleri

  1. İsim: Yapıcılar, sınıfın adıyla aynı isme sahiptir.

  2. Dönüş Tipi: Yapıcıların dönüş tipi yoktur, bu yüzden herhangi bir tip belirtilmez.

  3. Parametreler: Yapıcılar, nesne oluşturulurken başlangıç değerlerini almak için parametre alabilir.

  4. Varsayılan Yapıcı: Parametre almayan bir yapıcı, varsayılan yapıcı olarak adlandırılır.

Yapıcı Örnekleri

Aşağıda, C++'da yapıcıların nasıl tanımlandığına ve kullanıldığına dair bir örnek bulunmaktadır:

#include <iostream>
#include <string>

class Araba {
private:
    std::string marka;
    int yil;

public:
    // Varsayılan Yapıcı
    Araba() {
        marka = "Bilinmiyor";
        yil = 0;
    }

    // Parametreli Yapıcı
    Araba(std::string m, int y) {
        marka = m;
        yil = y;
    }

    // Bilgi gösterme metodu
    void bilgiGoster() {
        std::cout << "Marka: " << marka << ", Yıl: " << yil << std::endl;
    }
};

Yapıcıları Kullanma

Yukarıdaki sınıfı kullanarak nesneler oluşturabiliriz:

int main() {
    // Varsayılan yapıcı ile nesne oluşturma
    Araba araba1;
    araba1.bilgiGoster(); // Çıktı: Marka: Bilinmiyor, Yıl: 0

    // Parametreli yapıcı ile nesne oluşturma
    Araba araba2("Toyota", 2020);
    araba2.bilgiGoster(); // Çıktı: Marka: Toyota, Yıl: 2020

    return 0;
}

Çoklu Yapıcılar (Overloading)

C++'da bir sınıf birden fazla yapıcıya sahip olabilir. Bu, yapıcı aşırı yükleme (constructor overloading) olarak adlandırılır. Aşağıda, bir sınıfın birden fazla yapıcıya sahip olduğu bir örnek verilmiştir:

class Kisi {
private:
    std::string isim;
    int yas;

public:
    // Varsayılan yapıcı
    Kisi() {
        isim = "Bilinmiyor";
        yas = 0;
    }

    // Parametreli yapıcı
    Kisi(std::string i, int y) {
        isim = i;
        yas = y;
    }

    // Bilgi gösterme metodu
    void bilgiGoster() {
        std::cout << "İsim: " << isim << ", Yaş: " << yas << std::endl;
    }
};

Yukarıdaki sınıfı kullanarak nesneler oluşturabiliriz:

int main() {
    Kisi kisi1; // Varsayılan yapıcı
    kisi1.bilgiGoster(); // Çıktı: İsim: Bilinmiyor, Yaş: 0

    Kisi kisi2("Ali", 26); // Parametreli yapıcı
    kisi2.bilgiGoster(); // Çıktı: İsim: Ali, Yaş: 26

    return 0;
}

Sonuç

C++'da yapıcılar, nesnelerin başlangıç değerlerini ayarlamak ve nesne oluşturma sürecini yönetmek için kritik bir rol oynar. Yapıcılar, hem varsayılan hem de parametreli şekilde tanımlanabilir ve birden fazla yapıcı ile aşırı yüklenebilir.

Last updated