Özet - Sınıflar
- C++ kursu
- Orta seviye
- Ders 6/116
- 5 dk
Ü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
#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
#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
#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
#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?
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
void setWatts(int watts) { ____->watts = watts; }
void setWatts(int watts) { this->watts = watts; }
Açıklama: this->watts üyeyi, watts parametreyi gösterir.