Fonksiyon Aşırı Yükleme
Coddy'nin C++ Journey'sinin Temeller bölümünün bir parçası — ders 54 / 74.
Fonksiyon aşırı yükleme (function overloading), C++'da iki veya daha fazla fonksiyonun aynı isme sahip olabildiği ancak farklı parametreler aldığı bir özelliktir. Aşırı yüklenmiş bir fonksiyonu çağırdığınızda, C++ derleyicisi, çağrıda kullandığınız argüman türlerini tanımlarda belirtilen parametre türleriyle karşılaştırarak kullanılacak en uygun tanımı belirler. Eğer eşleşen bir fonksiyon bulunamazsa, derleyici bir hata üretecektir.
İşte bir fonksiyon aşırı yükleme (function overloading) örneği:
int add(int a, int b) {
return a + b;
}
double add(double a, double b) {
return a + b;
}
int main() {
int sum1 = add(5, 3); // add fonksiyonunun ilk versiyonunu çağırır
double sum2 = add(2.5, 3.7); // add fonksiyonunun ikinci versiyonunu çağırır
return 0;
}Bu örnekte, add adında iki fonksiyonumuz var. Biri iki int parametresi alır, diğeri ise iki double parametresi alır. add fonksiyonuna geçirdiğimiz argümanların türlerine bağlı olarak, fonksiyonun uygun versiyonu çağrılır.
Bir fonksiyonu aşırı yüklemek (overload) için yalnızca dönüş türünün yeterli olmadığını belirtmek önemlidir. Fonksiyonların parametre listeleri birbirinden farklı olmalıdır.
Kopya kağıdı
Fonksiyon aşırı yükleme (function overloading), aynı isme fakat farklı parametrelere sahip birden fazla fonksiyona izin verir. Derleyici, argüman türlerine göre uygun fonksiyonu seçer:
int add(int a, int b) {
return a + b;
}
double add(double a, double b) {
return a + b;
}
int main() {
int sum1 = add(5, 3); // int versiyonunu çağırır
double sum2 = add(2.5, 3.7); // double versiyonunu çağırır
return 0;
}Fonksiyonların parametre listeleri farklı olmalıdır - tek başına dönüş türü aşırı yükleme için yeterli değildir.
Kendin dene
Bu ders bir kod alıştırması içermiyor.
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerModül OperatörüArtırma/AzaltmaSonradan Artırma/AzaltmaAritmetik KısayollarKarşılaştırma OperatörleriString Karşılaştırma7Giriş/Çıkış Temelleri
cout İfadesicin İfadesiString GirdisiÖzet - 120'ye KadarÖzet - Doğru veya Yanlış10Fonksiyonlar
Fonksiyon TanımlamaParametrelerDönüş TipleriFonksiyon Aşırı YüklemeÖzet - Sigma FonksiyonuÖzet - Doğrulama FonksiyonuVoid Fonksiyonlar