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ındanbenimArabam
adında bir nesne türettik.benimArabam.marka = "BMW";
→ Nesneninmarka
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.