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

Bu örneğimizde kalıtım konusuna devam ediyoruz.

Bu örneğimizde kalıtım konusuna devam ediyoruz.

Şimdi dikkat edilmesi gereken nokta türettigimiz class'ın nasıl contructorlar ile ilk degerlerinin atanacağıdır.

Sizce türettiğimiz yeni class ana class'ın constructorunu direk olarak kullanabilir mi?

Bu sorumuzun cevabı: Hayır. Bu işlemi sizin yeni türettiginiz classta programa göstermeniz gerekiyor. İşte bu işlemi örneğimizde bu kısım ile yaptık.


emreden_tureyen():emre(){}      /*turettigimiz class'in Constructori */

                                         /*aslinda bu Construcotr yeni degil

                                         emrenin argümansiz constructorunu cagiriyor.*/



         emreden_tureyen(int e):emre(e){}  /*argumanli constructor*/



Örneklerimi sırasıyla siz de yazıp çalıştırmayı denerseniz faydali olacağına inanıyorum.

Anlaşılmayan kısımları lütfen sorun..



#include <iostream>

        #include <string>

        #include <stdio.h>

        using namespace std;

        class emre

        {

                protected:

            int sayac;



            public:



            emre():sayac(0){} //Yapici (Constructor)



            emre(int e):sayac(e){}    //Tek argümanli Constructor



            int sayac_goster()

            { return sayac; }



             emre operator ++()       //operator overloadigde tamam

             { return emre(++sayac);}



        };



        class emreden_tureyen:public emre

        {

         public:

         emreden_tureyen():emre(){}      /*turettigimiz class'in Constructori */

                                         /*aslinda bu Construcotr yeni degil

                                         emrenin argümansiz constructorunu cagiriyor.*/



         emreden_tureyen(int e):emre(e){}  /*argumanli constructor*/



         emreden_tureyen operator --()

         {return emreden_tureyen(--sayac);}   /*operator overloading*/



        };



        int main()

        {

                emreden_tureyen n1,n2(100),n3;



            cout<<n1.sayac_goster()<<endl;

            cout<<n2.sayac_goster()<<endl;



            n3=--n2;   /*n3 ü n2 den türettik*/

            cout<<n3.sayac_goster()<<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!

Sormuş olduğun soru tüm kodu göremesemde tahminim ileri seviye bir windows Xform dediğimiz görsel kısmlarla ilgili.. TutorialFrameListener classı example classının public inherit'i olmuş yani example clasının publiclerini kullanabilir. bu verdigin kodda gözükmeyen kısım olarak eklenilen header dan olabilir yada diğer class dan olabilir bazı fonksiyonlar var onları çağırıyor. o yüzden tüm kodu gördüğünde sürekli değişken değişmediğini sadece elindeki fonksiyonları kullanarak değişkenleri kullandığını görebilirsin.. kolay gelsin..

Yukarı Git