CodeBlanks Logo Icon CodeBlanks

Miras temelleri

Türetme (:) ile bir sınıftan miras almayı öğrenirsin.

Miras temelleri

C++'ta miras alma (inheritance), bir sınıfın başka bir sınıfın üyelerini devralmasıdır. Devralan sınıfa türetilmiş sınıf (derived class), devralınan sınıfa temel sınıf (base class) denir. İki nokta ve erişim belirleyici ile yazılır.

Örnek: class Dog : public Animal { };. Burada Dog, Animal'dan miras alır. Dog bir Animal'ın tüm public üyelerine sahiptir ve kendi üyelerini de ekleyebilir. Bu, kod tekrarını azaltır: ortak davranış Animal'da bir kez yazılır, Dog, Cat gibi sınıflar onu devralır.

Üye devralma

Türetilmiş sınıf, temel sınıfın public ve protected üyelerini devralır. private üyeler devralınmaz; yalnız temel sınıfın kendisi erişebilir. Türetilmiş sınıf bu üyelere temel sınıfın üye fonksiyonları aracılığıyla dolaylı olarak ulaşabilir.

Örnek: Animal'da protected: std::string name; varsa, Dog bunu doğrudan kullanabilir: name = "Karabaş";. Ama private olsaydı Dog erişemezdi; Animal'ın bir getName() fonksiyonu gerekirdi. Bu yüzden miras için protected sık kullanılır.

Uygulama Dog sınıfını Animal'dan türet

Animal sınıfını tanımla: public: altında void breathe() { std::cout << "Nefes"; } üye fonksiyonu. Sonra class Dog : public Animal { }; ile Dog'u türet. main içinde Dog d; oluştur ve d.breathe() çağır.

Başlangıç kodu

main.cpp
#include <iostream>

// Animal sınıfını ve Dog türevini tanımla

int main() {
    // Dog örneği oluştur ve breathe çağır
    return 0;
}

Örnek çözüm

main.cpp
#include <iostream>

class Animal {
public:
    void breathe() {
        std::cout << "Nefes";
    }
};

class Dog : public Animal {
};

int main() {
    Dog d;
    d.breathe();
    return 0;
}

Beklenen çıktı

Nefes

Soru ve cevaplar

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

1 class Dog : public Animal { }; satırında Animal ne demektir?

main.cpp
class Dog : public Animal { };
  • Dog'un üye değişkeni
  • Dog'un yapıcı metodu
  • Dog'un temel sınıfı Doğru cevap
  • Dog'un arkadaş sınıfı

Açıklama: Animal, Dog'un miras aldığı temel sınıftır.

2 Miras sözdizimini tamamla

Soru
class Dog ____ public Animal { };
Cevap
class Dog : public Animal { };

Açıklama: İki nokta miras bağıntısını başlatır.

3 Terimi rolüne eşle

Kavram Anlamı
Animal Temel sınıf
Dog Türetilmiş sınıf
public Miras erişim türü
: Miris bağıntısı

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