C++ programlama dilinde “fonksiyon aşırı yükleme” veya “function overloading,” bir fonksiyonun birden fazla sürümünü aynı ada sahip olarak tanımlama yeteneğini ifade eder. Aşırı yüklemeli fonksiyonlar, aynı adı taşırlar, ancak farklı parametre listelerine sahiptirler. Bu, aynı işlemi farklı türler veya farklı sayıda parametrelerle çağırmak istediğinizde kullanışlıdır. Aşırı yüklemeli fonksiyonlar, işlevsellik açısından aynıdır, ancak işlenen parametrelerin türleri veya sayıları farklıdır.
Aşırı yüklemeli bir fonksiyon tanımlarken, aşağıdaki kurallara dikkat etmelisiniz:
- Aşırı yüklemeli fonksiyonların aynı isimde olması gerekir.
- Aşırı yüklemeli fonksiyonların parametre listeleri farklı olmalıdır. Parametre sayısı veya türü farklı olmalıdır.
- Fonksiyonların dönüş türü aşırı yüklemeyi etkilemez. Aynı ada sahip fonksiyonlar farklı dönüş türlerine sahip olabilir.
İşte basit bir örnek:
#include <iostream> // İki tamsayının toplamını hesaplayan aşırı yüklemeli fonksiyonlar int topla(int a, int b) { return a + b; } double topla(double a, double b) { return a + b; } int main() { int x = 5, y = 10; double p = 3.5, q = 2.7; std::cout << "Toplam (int): " << topla(x, y) << std::endl; std::cout << "Toplam (double): " << topla(p, q) << std::endl; return 0; }
Bu örnekte, iki farklı toplama işlemini gerçekleştirmek için aşırı yükleme kullanılıyor. İlk topla
fonksiyonu tamsayıları toplarken, ikinci topla
fonksiyonu ondalık sayıları topluyor. Aşırı yüklemeli fonksiyonlar, parametre türlerine ve sayılarına göre hangi sürümün çağrılacağını belirlemek için C++ derleyicisi tarafından otomatik olarak seçilir.