C++ ile ++ Operatörünü Aşırı Yükleme Örneğimiz


08.04.2012-20:59 Tarihinde Eklendi.
www.seyfettinkahveci.com Derecelendirme: 10 / 10 Oy Sayısı: 16005710Toplam Puan: 63600 / Yorum Sayısı: 412005710 adet.


yukle.h

#ifndef YUKLE_H
#define YUKLE_H

#include <iostream>//kütüphane tanımlaması yapıyoruz

using namespace std;//isim uzayı tanımlıyoruz her satırın başına std: koymamak için
class yukle//yukle adında bir sınıf oluşturuyoruz
{
    public://herkesin erişebileceği bilgilerin yer aldığı blok
        yukle(int x1,int y1);//constructor yani sınıfla ilgili işlem yapıldığında ilk çalışacak blok
        virtual ~yukle();//destructor yani program kapanırken çalışacak blok
        void operator ++();//x artsın ++y
        void operator ++(int);//y artsın y++
        void yaz();//x ve y değerini ekrana yazan fonksiyonumuz
    private://sadece bu sınıfın üyesi olanların erişebileceği blok
        int x;//integer tipinde x adında değişken tanımlıyoruz
        int y;//integer tipinde y adında değişken tanımlıyoruz
};

#endif // YUKLE_H

yukle.cpp

#include "yukle.h"//headerımızı çağırıyoruz

yukle::yukle(int x1,int y1)//constructor fakat ilk değerlerin girilmesi gerekir
{
    x=x1;//constructordan gelen  x1 değişkeninin içeriğini x e at.
    y=y1;//constructordan gelen y1 değişkeninin içeriğini y e at.
}

yukle::~yukle()
{
  //destructor yani program kapanırken çalışacak blok ben bu örnek için boş bıraktım.
}
    void yukle::operator ++(){// ++y yani artıların sonda geldiği operator
        x++;//xi bir arttır
    }
        void yukle::operator ++(int){// y++ yani artıların başta geldiği operator (parantez) içine int yazarsınız ++lar sonda gelir
        y++;//y yi bir arttır
}
        void yukle::yaz(){
         cout<<"x:"<<x<<"\ny:"<<y<<endl;//x ve y değerini ekrana yaz
         }

main.cpp

#include "yukle.h"//headerımızı çağırıyoruz

int main()
{
    yukle y(20,20);//yukle classının yeni adı y ve ilk değerleri x=20 y=20
    y.yaz();//y classının içindeki yaz fonksiyonunu çağır x=20 y=20
    cout<<"\n";//ekranda bir alt satıra geç
    ++y;//++yı aşırı yüklediğimiz fonksiyonu çağır.
    y.yaz();//y classının içindeki yaz fonksiyonunu çağır  x=21 y=20
    y++;//y++yı aşırı yüklediğimiz fonksiyonu çağır.
    y.yaz();//y classının içindeki yaz fonksiyonunu çağır  x=21 y=21
    return 0;//programı bitir
}

Kod Hakkında Anlamadığınız Bir Kısım Olursa Yorum Ekleye Yazın En Kısa Sürede Cevaplamaya Çalışırım.

Seyfettin KAHVECİ
Balıkesir Üniversitesi
NEF-BOTE



Yazının tamamının kopyalanması yasaktır. En baştaki birkaç paragrafı kopyalayıp, yazıya link verebilirsiniz. Aksi durumda uyarılmaksızın yasal yollara gidilecektir.

Uzun süredir yorumlara cevap veremediğim için sistem yeni yorumlara kapatılmıştır. Anlayışınız için teşekkürler.
Yorumlar
Bu makale için henüz hiç yorum yapılmamış.