C++ Operatörleri Şubat 2010 | Sayı : 11

Merhaba sevgili okurlar. Bu ay pek bilinmeyen ancak yerinde kullanıldığı zaman kodunuzun karmaşasını azaltabilen ve okunabilirliği artıran bir yapıdan bahsedeceğim. C++ dilini kullanarak kendi sınıflarımız için özel operatörler tanımlayacağız ve bu operatörleri kullanacağız. Operatörler aslında normal fonksiyonlardan farksızlar, tek farkları fonksiyonlarda parametreler parantez içinde bulunurken operatörlerde bu parametreler operatörün sağında ya da solunda bulunmaktadır.

Operatörler birçok yerde işimizi çok kolaylaştırabilir. Örnek olarak; string kütüphanesinde iki string'i uç uca eklemek için '+' operatörünü kullanıyoruz. Bu operatör olmasaydı string birleştirmek için kullanacağımız fonksiyonlar büyük bir karmaşaya yol açacaktı. String için '=' operatörü de aynı şekilde kodun anlaşılırlığını büyük ölçüde artırmakta. Operatörlerin yanlış kullanılması durumunda ise anlaşılabilirlik kalmayacaktır. Örnek olarak; string için '!' operatörünü string'in uzunluğu veren operatör olarak tanımlarsanız kodunuzu inceleyen kişi için bu gibi operatörleri anlamaya çalışmak işkenceye dönüşecektir. Lafı fazla uzatmadan ben örnek uygulamaya geçiyorum. Bu yazı boyunca kendi oluşturduğum bir 'tamsayi' sınıfı için belirli operatörleri aşırı yükleyeceğim ve kullanacağım.



Bu kodun çıktısı aşağıdaki şekilde olacaktır.

 

Gördüğünüz gibi oluşturduğum tamsayi sınıfı için '+' ve '=' operatörlerini aşırı yükledim. Bu sayede fonksiyonların karmaşasından kurtularak hem çok kolay anlaşılır hem de kullanışlı bir yapı elde etmiş oldum. Şimdi de, değişkenin soluna konulabilen parametrelere örnekler vereceğim.



Bu kodun çıktısı aşağıdaki gibi olacaktır.


 

Gördüğünüz gibi tamsayının negatifini, başına '-' operatörü koyarak ve tamsayının faktöriyelini ise başına '!' operatörü koyarak elde edebildim. Ayrıca bazı operatörler birden fazla parametre alabilirler. Buna örnek aşağıdaki gibidir.  

  

 

Bu kodun çıktısı şöyle olacaktır. 



Gördüğünüz gibi '==' operatörünü iki tamsayının eşitliğini karşılaştıracak şekilde aşırı yükledim. Neredeyse bütün operatörler aşırı yüklenebilir. Aşırı yüklenebilir operatörlerin listesini yazının sonundaki linkten bulabilirsiniz. Özellikle string sınıfı gibi bir sınıf yazacak olursanız ve aşırı yüklenmiş operatörler kullanırsanız programcı dostu ve anlaşılabilir kütüphaneler yazabilirsiniz. Kısa ve öz olması için yazımı burada bitiriyorum. Umarım sizin için faydalı olmuştur. İyi okumalar ve yazmalar. 

 

Kaynaklar:

      Mustafa Burak AMASYALI
İ.Ü. Bilgisayar Mühendisliği 4. Sınıf
- Şubat 2010 -
Editörden... | H. Can ÇOBANOĞLU Bilgisayarlı Görü Teknolojisi | Neslişah ÇELİK Zengin İnternet Uygulamalarının Gücünü Keşfedin | Gökhan ÖZTÜRK YSA Temel Yapı ve Özellikleri | Duygu KARABATAK Web Konferans Sistemi | Fevzi DAŞ CES 2010 | Feyzan SARUHAN Daha Kullanışlı ve Hızlı Windows 7 İçin | Serkan AKDEMİR Amiral Battı | Özkan AKGÜL Oyun Tanıtımı | Erman TEPE C++ Operatörleri | Mustafa Burak AMASYALI Bir Yaşam Tarzı | Hüseyin Can ÇOBANOĞLU Teknokentler | Muhammed CÜCE
« önceki sayfa - 9 - sonraki sayfa »

ana sayfa | arşiv | dergimiz | künye | iletişim | yazarlar için...
© 2009-2010 Bilisimdergi.Com Tasarım - Kodlama : İU BİLGİSAYAR

Creative Commons License
Bilişim Dergi içeriği  Creative Commons  lisansı ile korunmaktadır.
Kaynak göstermek ve link vermek şartıyla yazılarımızı kullanabilirsiniz.