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ı: 16002827Toplam Puan: 34770 / Yorum Sayısı: 412002827 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.

Yorum Ekle

Ad Soyad:
Şehir:
Yorum:
Yorumlar
Bu makale için henüz hiç yorum yapılmamış.
Unutmayın Makalelere Yorum Yazmak Yeni Makalelere Teşviktir.