C++ Kalıtım (Bölüm 1)

Bu örnekte kalıtıma giriş yapıyoruz.

Bu örnekte kalıtıma giriş yapıyoruz.

Bu örneğimiz C++ ta kalıtıma giriş niteliğindedir. Burada dikkat edilmesi gereken noktamız:


class turetilmis:public Counter

      {

        public:

        Counter operator --()

        {return Counter (--count);}

      };



Bu kısımdır. Kalıtımın tüm sırrı burada yatmaktadır. Class'ın ismini turetilmis koymamın sebebi kalıtımın aslında ana class kullanılarak başka bir class türetilmesidir.. Ve bu yeni class ana class ın tüm özelliklerine sahiptir (Private hariç) Ve dikkat ettiyseniz aşagıdaki örnek:


class Counter

      {

          protected:   // private degil dikkat



diye başlıyor; yani ilk kısımda eskiden olduğu gibi private degil Protected kullanılmıştır...

Örneği dikkatlice inceleyip anlaşılmayan kısımları lütfen sorun...



#include <iostream>

      #include <string>

        #include <stdio.h>

        using namespace std;

      class Counter

      {

          protected:   // private degil dikkat

         int count;

         public:

         Counter():count(0)  //constructor argümansiz

         {}

         Counter(int c):count(c)    //tek argümanli *önemli

         {}

         int get_count()

         {

             return count;



         }

          Counter operator ++()

          {



              return Counter(++count);  /*tek argümanli constructor buraya gerekli*/





          }

      };





      class turetilmis:public Counter

      {

        public:

        Counter operator --()

        {return Counter (--count);}

      };



      int main()

      {

       turetilmis t1;

       cout<<t1.get_count()<<endl;

       ++t1 ;

       ++t1 ;

       cout<<t1.get_count()<<endl;

       --t1;

       cout<<t1.get_count()<<endl;



       getchar();getchar();

      return 0;

      }

  • Etiketler;
Emre Çamalan
1986 doğumlu olan Emre Çamalan, Atılım Üniversitesi Bilgisayar Mühendisligi 2. sınıfta burslu olarak eğitimini sürdürüyor. Programlama merakı ve tecrübesi okuldan öncelere dayananan yazar, Ankara'da yaşıyor.
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

merhaba.. öncelikle emeğine sağlık teşekkürler..:gul: Ben C++ ta yeniyim. Kalıtım konusunda bi örnek daha vererek daha detaylı anlatırsanız sevinirim. Mesela; private ile protected arasındaki fark, counter operator alanının işlevini vs açıklayabilir misin?
tabikide açıklarım; sanrım elinde bir soru var ve ona göre soruyorsun :) private dedigi kısım sadece kendi içinden ulaşılabilen elemanları içerir yani sen kalıtım ile bir türetilmiş class yazdım bu şekilde bir private'e ulaşamazsın ancak, protected kısmına kendi içinden rahatlıkla ulaşabildigin gibi birde kalıtımla yarattıgın türemiş classdanda rahatlıkla ulaşabilirsin tek fark bu.. counter dedigin keyfi bir class sende emre class'ı yaz ... yeterli degilse ders niteligine getireyim konuyu..
protected dediğimiz olay public ile private arası birşey esasen. public sınıf içi ve dışı herkes tarafından erişilebilen kısım, private ise sadece kendi sınıfın tarafından erişilebilen kısımdır. protected private'a benzer olarak yine dış dünyadan erişilemeyen fakat public'e benzer olarak da senden türetilmiş sınıflar tarafından erişilebilen kısımdır. yani özetle; protected üyeler dış dünya için private, kendinden türetilmiş sınıflar için public niteliğindedir.

Yukarı Git