Program Yapmak | Programcılık Hakkında Her Şey | VİSUAL BASİC 6.0 | C, C++ ve C# Yazılım Dilleri | VB.NET Yazılım Dili

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

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;
        }
Sincan Laptop tamiratı ile alakalı içeriklerin bulunduğu web siteden bilgilere ulaşabilirsiniz. Sincan'da laptop tamiratını en iyi yapan yerleri sorgulayabilirsiniz. Cihan KOÇ
=> Sen de ücretsiz bir internet sitesi kurmak ister misin? O zaman burayı tıkla! <=