Fonksiyonların Aşırı Yüklenmesi(Function Overloading)


S.A.

Fonksiyonlarin asiri yuklenmesini(Function Overloading) gosterecegim.

******************************

C++, birbirinden farkli parametreleri (en azindan tipleri goz onune alindiginda) oldugu surece ayni isimli birden fazla fonksiyonun tanimlanmasina izin verir. Bu yetenek, fonksiyon asiri yuklemesi olarak anlandirilir. Asiri yuklenmis bir fonksiyon cagrildigi zaman C++ derleyicimiz cagridaki argumanlarin sayisini, tipini ve sirasini inceler ve uygun fonksiyonu secer… Fonksiyon asiri yuklemesi genelde farkli veri tipleri ve uzerinde benzer islemleri yapan, ayni fonksiyonlar olusturulurken kullanilir…

Asagidaki kodlarda(resim1) bir int’in ve double’in karesini hesaplamak uzere asiri yuklenmis kare fonksiyonu kullanilmaktadir…

Asiri yuklenmis fonksiyonlar, isaretleriyle ayirt edilir… Bir isaret, fonksiyonun adi ve parametre tiplerinin birlesimidir. Derleyici, tip guvenli baglamayi saglamak icin her bir fonksiyon taniticisini parametrelerinin sayisi ve tipi ile cozumler (isim bozumu veya isim dekorasyonu da denir.)… Tip guvenli baglama, uygun asiri yuklenmis fonksiyonun cagrildigindan ve argumanlarin parametreleri ile uygunlugundan emin olmayi saglar. Baglama hatalari derleyici tarafindan bulunur ve rapor edilir…

******************************

Resim 1

******************************

Ve kod sonrası çıktımız

NOT: Ayni parametre listeleri ve farkli donus tipleri ile asiri yuklenmis fonksiyonlar olusturmak yazim hatasidir…

******************************

Derleyici, ayni isimli fonksiyonlar arasinda ayrim yaparken sadece parametre listelerini kullanir. Asiri yuklenmis fonksiyonlarin ayni sayida parametre icermesine gerek yoktur. Programcilar, fonksiyonlari varsayilan parametrelerle asiri yuklerken dikkatli olmalidir cunku bu karisikliga sebep olabilir.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s