Şimdi Ara

Operator Overloading - neden hata alıyorum?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
6
Cevap
0
Favori
291
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Operator Overloading - neden hata alıyorum?

    Amacım + operatörünü overload ederek 2 farklı nesne arasında toplama işlemi yapmak
    sayi1 ve sayi2 nesnelerini parametre olarak oluşturup (sayi1.x + sayi2.x) işlemini yaptırmak istedim
    resimde gördüğünüz gibi bir hata aldım tam olarak ne demek istediğini çözemedim.







  • + iki argüman alan operatör fakat overloading'te tanımlanırken bir argüman alır: + ' nın sağındaki sınıf. +'nın solundaki sınıf ise this 'tir. derleyicide denemedim fakat şöyle bişi olmalı:



    sayi operator+ (sayi sayi2)

    {

    sayi sayi3;

    return this.x + sayi2.x;

    }

    < Bu ileti mini sürüm kullanılarak atıldı >
  • Operator Overloading - neden hata alıyorum?

    Bu şekilde class içinde friend olarak tanıtıp class dışında kodunu yazınca hata vermiyor.
    Peki main fonksiyonu içinde bu tanımlamayı nasıl kullanabilirim ?
    s1 + s2 ' sonucunu ekrana nasıl yazdırabilirim?
    bir iki bişey denedim ama ekrana yazdırmayı başaramadım.
  • quote:

    Orijinalden alıntı: revivo72

    + iki argüman alan operatör fakat overloading'te tanımlanırken bir argüman alır: + ' nın sağındaki sınıf. +'nın solundaki sınıf ise this 'tir. derleyicide denemedim fakat şöyle bişi olmalı:



    sayi operator+ (sayi sayi2)

    {

    sayi sayi3;

    return this.x + sayi2.x;

    }







    demek istediğini anladım teşekkürler.
    bu arada, this.x hatalı yazım diye biliyorum. Doğrusu this->x olmalı
    peki (this->x ile x) arasında bir fark var mı?
  • aynen this.x yanlış yazmışım; Ruby'den alışkanlık. benim örnekte this->x ile x arasında fark yok cunku +'yı cağıran zaten +'nın solundaki nesne yani onun üye değişkeni x zaten var o yüzden sadece x te yazılabilir. Hoş bunu da derleyicide denemedim : )

    < Bu ileti mini sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: revivo72

    aynen this.x yanlış yazmışım; Ruby'den alışkanlık. benim örnekte this->x ile x arasında fark yok cunku +'yı cağıran zaten +'nın solundaki nesne yani onun üye değişkeni x zaten var o yüzden sadece x te yazılabilir. Hoş bunu da derleyicide denemedim : )

    Ben denedim böyle bir yazımda x veya this->x yazmak aynı işi yapıyor.
    Fakat Friend olarak tanımlayarak yazmayı denediğimde this->x veya x yazınca hata veriyor sanırım ulaşamıyor.
    parametre olarak 2 tane alınca sorun ortadan kalkıyor.Operator Overloading - neden hata alıyorum?




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.