Şimdi Ara

yardım c++

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
8
Cevap
0
Favori
299
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • arkadaşlar C++ dersler alıyorum bu konudayım anlamadım siz anlatırmısn ana fikir ne asıl öğrenilmesi gereken konu operatörleri aşırı yükleme(aritmetik) yardımlarınızı bekliyorum



  • omris2013 kullanıcısına yanıt
    http://www.muhammedmastar.com/c-dersleri-33-c-aritmetik-operatorlerin-asiri-yuklenmesi

    Buradan öğrenmeyi dene bir de.

    Tüm derslerihttp://www.muhammedmastar.com/c-dersleri burada.
  • quote:

    Orijinalden alıntı: cekiko

    http://www.muhammedmastar.com/c-dersleri-33-c-aritmetik-operatorlerin-asiri-yuklenmesi

    Buradan öğrenmeyi dene bir de.

    Tüm derslerihttp://www.muhammedmastar.com/c-dersleri burada.

    teşekkür ederim ben zaten ordan dersleri alıyorum :D ve 33 bölümde kaldım anlamadım bi türlü yardım edermsin




  • omris2013 kullanıcısına yanıt
    Anlatmak buradan tam olmaz da ingilizcen varsa ingilizce kaynaklardan incele konuyu biraz. Örnek yaparak anlarsın. Google da araştır örnekleri yazmaya çalış arada bakıp.
  • quote:

    Orijinalden alıntı: cekiko

    Anlatmak buradan tam olmaz da ingilizcen varsa ingilizce kaynaklardan incele konuyu biraz. Örnek yaparak anlarsın. Google da araştır örnekleri yazmaya çalış arada bakıp.

    tmm peki ana fikir ne bu konuda söylermisn
  • omris2013 kullanıcısına yanıt
    http://www.ismailgursoy.com.tr/operator-overloading-operatorlerin-asiri-yuklenmesi/ açıklama bu şekilde. Normalde c# için anlatılmış ama aynı konu zaten. Google a yazıp bakmak tavsiye ediyorum. Kolay kaçma.

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

    Orijinalden alıntı: omris2013

    quote:

    Orijinalden alıntı: cekiko

    http://www.muhammedmastar.com/c-dersleri-33-c-aritmetik-operatorlerin-asiri-yuklenmesi

    Buradan öğrenmeyi dene bir de.

    Tüm derslerihttp://www.muhammedmastar.com/c-dersleri burada.

    teşekkür ederim ben zaten ordan dersleri alıyorum :D ve 33 bölümde kaldım anlamadım bi türlü yardım edermsin

    Bu Muhammet mastar amatör şekilde anlatıyor, tavsiye etmem. Bulabilirseniz adam gibi kitap alın ya da yabancı kaynakları takip edin. Yine de ben elimden geldiğince açıklamaya çalışayım.

    C++ felsefe olarak bütün nesnelere standart değişkenler gibi davranmaya meyilli olan bir dildir. Yani biz iki adet int değişkeni toplayabiliyorsak kendi tanımladığımız iki nesneyi de aynı şekilde toplayabilmeliyiz (ya da ona benzer bir işlem...).

    Örneğin c++ ta string türü yoktur. Yüksek seviyeli dillerde geçerli olan "merhaba " + "dünya" ("merhaba dünya") işlemi c++ ta geçerli değildir. Fakat bu gibi işlemler çok fazla yapıldığı için adamlar oturmuş std::string diye bir nesne yazmışlar ve yukarıdaki işlem toplama işlemine benzediği için + operatörünü aşırı yükleyerek bu nesneye string birleştirme özelliği kazandırmışlar.

    std::string str1 = "merhaba";
    std::string str2 = " dünya";
    std::string str3 = str1 + str2; // geçerli.

    Eğer dilde operator overloading olmasaydı yukarıdaki işlemi yapmanın tek yolu str1.append(str2); olacaktı. Aslında ikisi de aynı şey. Yani + ile yapsan da derleyici fonksiyon ile hallediyor işi. Ama burada önemli olan kullanıcının, yani programcının bakış açısı. Aynı işlemi + ile yapmak insana daha doğal ve kolay gelir. İşte aritmetik, lojik benzeri işlemler yapan kullanıcı tanımlı nesnelerle daha doğal şekilde çalışabilmek için icat edilen şeydir operator overloading.

    Tabi sen istedikten sonra operatörleri alakasız şekilde de yükleyebilirsin. Yani mesela * operatörüne saçma sapan anlamlar yükleyebilirsin. Teknik olarak bir kısıtlama yok ama tabiki tavsiye edilmez.




  • Yapay Zeka’dan İlgili Konular
    c'de yardım
    13 yıl önce açıldı
    C yardım
    24 yıl önce açıldı
    Daha Fazla Göster
  • quote:

    Orijinalden alıntı: elektro_gadget

    quote:

    Orijinalden alıntı: omris2013

    quote:

    Orijinalden alıntı: cekiko

    http://www.muhammedmastar.com/c-dersleri-33-c-aritmetik-operatorlerin-asiri-yuklenmesi

    Buradan öğrenmeyi dene bir de.

    Tüm derslerihttp://www.muhammedmastar.com/c-dersleri burada.

    teşekkür ederim ben zaten ordan dersleri alıyorum :D ve 33 bölümde kaldım anlamadım bi türlü yardım edermsin

    Bu Muhammet mastar amatör şekilde anlatıyor, tavsiye etmem. Bulabilirseniz adam gibi kitap alın ya da yabancı kaynakları takip edin. Yine de ben elimden geldiğince açıklamaya çalışayım.

    C++ felsefe olarak bütün nesnelere standart değişkenler gibi davranmaya meyilli olan bir dildir. Yani biz iki adet int değişkeni toplayabiliyorsak kendi tanımladığımız iki nesneyi de aynı şekilde toplayabilmeliyiz (ya da ona benzer bir işlem...).

    Örneğin c++ ta string türü yoktur. Yüksek seviyeli dillerde geçerli olan "merhaba " + "dünya" ("merhaba dünya") işlemi c++ ta geçerli değildir. Fakat bu gibi işlemler çok fazla yapıldığı için adamlar oturmuş std::string diye bir nesne yazmışlar ve yukarıdaki işlem toplama işlemine benzediği için + operatörünü aşırı yükleyerek bu nesneye string birleştirme özelliği kazandırmışlar.

    std::string str1 = "merhaba";
    std::string str2 = " dünya";
    std::string str3 = str1 + str2; // geçerli.

    Eğer dilde operator overloading olmasaydı yukarıdaki işlemi yapmanın tek yolu str1.append(str2); olacaktı. Aslında ikisi de aynı şey. Yani + ile yapsan da derleyici fonksiyon ile hallediyor işi. Ama burada önemli olan kullanıcının, yani programcının bakış açısı. Aynı işlemi + ile yapmak insana daha doğal ve kolay gelir. İşte aritmetik, lojik benzeri işlemler yapan kullanıcı tanımlı nesnelerle daha doğal şekilde çalışabilmek için icat edilen şeydir operator overloading.

    Tabi sen istedikten sonra operatörleri alakasız şekilde de yükleyebilirsin. Yani mesela * operatörüne saçma sapan anlamlar yükleyebilirsin. Teknik olarak bir kısıtlama yok ama tabiki tavsiye edilmez.

    Onun adı muhammed, t ,değil ve yazdığınız kelimeler bana çok anlamlı ve sanki dersin içindeymişim gibi hissetirdi daha önce hiç bir derste bu duyguyu tatmamıştım eğer izin verirseniz anlamadığım konuları ,kavramları size sormak isterim cevabınız için çok teşekkür ederim bunu anlamaya çalışmam 1 saatimi almıştı tekrardan teşekkür ederim




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