C++ Sınıflar ve Nesneler

Merhaba arkadaşlar! 👋 Bugün C++’ta sınıflar ve nesneler konusunu detaylı bir şekilde ele alacağız. Eğer Nesne Yönelimli Programlama (OOP) kavramını öğrenmek istiyorsanız, bu yazı tam size göre! Haydi başlayalım. 🚀


Sınıf (Class) Nedir?

Sınıf, nesnelerin (objects) oluşturulması için bir şablon (template) görevi görür. İçinde değişkenler (veri üyeleri) ve fonksiyonlar (metotlar) barındırır.

💡 Sınıf = Özellikler (Veri Üyeleri) + Davranışlar (Metotlar)

Bir sınıfın temel yapısı şu şekildedir:

class SinifAdi {
public:
    // Veri üyeleri
    int degisken;

    // Metotlar
    void MetotAdi() {
        cout << "Metot çalıştı!" << endl;
    }
};

📌 Önemli Not:

  • public: → Sınıf içindeki değişkenlerin ve fonksiyonların her yerden erişilebilir olmasını sağlar.
  • private: → Sınıf içindeki değişkenler ve fonksiyonlar yalnızca sınıf içinden erişilebilir.

C++’ta Nesne (Object) Oluşturma

Bir sınıftan nesne türetmek için şu yöntemi kullanıyoruz:

#include <iostream>

using namespace std;

class Araba {
public:
    string marka;
    int modelYili;

    void BilgiGoster() {
        cout << "Marka: " << marka << ", Model Yılı: " << modelYili << endl;
    }
};

int main() {
    Araba benimArabam; // Nesne oluşturduk
    benimArabam.marka = "BMW";
    benimArabam.modelYili = 2023;

    benimArabam.BilgiGoster(); // Metodu çağırdık
    
    return 0;
}

Çıktı:

Marka: BMW, Model Yılı: 2023

💡 Özet:

  • Araba benimArabam;Araba sınıfından benimArabam adında bir nesne türettik.
  • benimArabam.marka = "BMW"; → Nesnenin marka değişkenine değer atadık.
  • benimArabam.BilgiGoster(); → Nesneye ait fonksiyonu çağırarak bilgileri ekrana yazdırdık.

Constructor (Kurucu Metot)

Constructor, nesne oluşturulduğunda otomatik olarak çalışan bir fonksiyondur. Aynı isimde olur ve void ya da başka bir dönüş tipi almaz.

#include <iostream>

using namespace std;

class Araba {
public:
    string marka;
    int modelYili;

    // Constructor
    Araba(string m, int y) {
        marka = m;
        modelYili = y;
    }

    void BilgiGoster() {
        cout << "Marka: " << marka << ", Model Yılı: " << modelYili << endl;
    }
};

int main() {
    Araba benimArabam("Audi", 2022); // Constructor çağrılıyor

    benimArabam.BilgiGoster();
    
    return 0;
}

📌 Çıktı:

Marka: Audi, Model Yılı: 2022

💡 Özet:

  • Kurucu metod sayesinde, nesneye ilk değerleri atamak için ekstra işlem yapmamıza gerek kalmadı.
  • Araba benimArabam("Audi", 2022); ile doğrudan nesne oluştururken değer atadık.

Leave a Reply

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir