CodeBlanks Logo Icon CodeBlanks

Özet - Sınıflar

Üye değişken, fonksiyon ve erişim belirleyicileri birleştirerek bir User sınıfı yazarsın.

Özet - Sınıflar

Bu bölümde C++ sınıflarının temellerini gördün. Bir sınıf class anahtar kelimesiyle tanımlanır, gövdeden sonra noktalı virgül gerekir. Üye değişkenler veriyi, üye fonksiyonlar davranışı tutar.

this işaretçisi çağrılan nesneyi gösterir; ad çakışmalarını giderir ve zincirleme çağrılara olanak tanır. Erişim belirleyiciler (public, private, protected) üyelerin dışarıdan erişilebilirliğini kontrol eder ve kapsüllemeyi sağlar. Şimdi tüm bunları bir araya getiren bir görevle pekiştireceğiz.

Uygulama Light sınıfını tanımla ve kullan

Light sınıfını tanımla. int watts; üye değişkeni (private), public: altına void setWatts(int watts) { this->watts = watts; } ve int getWatts() { return watts; } üye fonksiyonlarını ekle. main içinde bir örnek oluştur, setWatts(60) çağır ve std::cout ile getWatts()'ın sonucunu yazdır.

Başlangıç kodu

main.cpp
#include <iostream>

// Light sınıfını tanımla

int main() {
    // Light örneği oluştur, setWatts çağır ve getWatts yazdır
    return 0;
}

Örnek çözüm

main.cpp
#include <iostream>

class Light {
    int watts;
public:
    void setWatts(int watts) {
        this->watts = watts;
    }
    int getWatts() {
        return watts;
    }
};

int main() {
    Light bulb;
    bulb.setWatts(60);
    std::cout << bulb.getWatts();
    return 0;
}

Beklenen çıktı

60

Uygulama Light sınıfına üye fonksiyon ekle

Yukarıdaki Light sınıfını alıp void describe() adında yeni bir üye fonksiyon ekle. Gövdesinde std::cout << watts << " watt"; yaz. main içinde bir örnek oluştur, setWatts(40) ve describe() çağır.

Başlangıç kodu

main.cpp
#include <iostream>

class Light {
    int watts;
public:
    void setWatts(int watts) {
        this->watts = watts;
    }
    int getWatts() {
        return watts;
    }
    // describe üye fonksiyonunu buraya ekle
};

int main() {
    // Light örneği oluştur, setWatts ve describe çağır
    return 0;
}

Örnek çözüm

main.cpp
#include <iostream>

class Light {
    int watts;
public:
    void setWatts(int watts) {
        this->watts = watts;
    }
    int getWatts() {
        return watts;
    }
    void describe() {
        std::cout << watts << " watt";
    }
};

int main() {
    Light bulb;
    bulb.setWatts(40);
    bulb.describe();
    return 0;
}

Beklenen çıktı

40 watt

Sırada ne var?

Sınıfların temellerini öğrendin: tanımlama, üye değişkenler, üye fonksiyonlar, this işaretçisi ve erişim belirleyiciler. Bir nesneyi oluşturduğunda üyeleri başlatmak hâlâ elle yapılıyor; bu sıkıcı ve hataya açık.

Sonraki bölümde yapıcı metot (constructor) ile nesneleri oluşturur oluşmaz başlatmayı öğreneceksin. Yapıcı metot, sınıfıyla aynı isimde olan özel bir üye fonksiyondur ve nesne tanımlandığında otomatik çağrılır. Böylece başlangıç değerleri tek yerde toplanır.

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 class Light { int watts; public: int getWatts(); }; tanımında watts'ın erişim düzeyi nedir?

main.cpp
class Light { int watts; public: int getWatts(); };
  • private Doğru cevap
  • public
  • protected
  • Erişim belirleyici yok

Açıklama: Belirleyici yazılmayan üyeler private kabul edilir.

2 this ile atamayı tamamla

Soru
void setWatts(int watts) { ____->watts = watts; }
Cevap
void setWatts(int watts) { this->watts = watts; }

Açıklama: this->watts üyeyi, watts parametreyi gösterir.

Orta seviye bölümündeki tüm dersler