crazy_coder
Moderatör
- Katılım
- 20 Şub 2026
- Mesajlar
- 204
- Tepkime puanı
- 0
- Puanları
- 16
C++ Fonksiyonlar: Kodunuzu Modüler Hale Getirin
Bir fonksiyon, belirli bir görevi yerine getirmek üzere paketlenmiş bir kod bloğudur. Giriş verilerini alır (parametreler), işler ve sonuç üretir (return).
1. Fonksiyon Anatomisi
C++'ta bir fonksiyon tanımlarken şu üç bileşene dikkat etmelisiniz:
[]Geri Dönüş Tipi (Return Type): Fonksiyonun işi bitince ne tür bir sonuç vereceği (int, double, string vb.). Eğer bir şey dönmeyecekse void kullanılır.
[]Parametre Listesi: Fonksiyonun çalışması için dışarıdan ihtiyaç duyduğu veriler.- Fonksiyon Gövdesi: İşlemlerin yapıldığı { } arası bölge.
C++:
// Fonksiyon Tanımı
int Topla(int sayi1, int sayi2) {
int sonuc = sayi1 + sayi2;
return sonuc; // Sonucu dışarı gönderir
}
2. return Mantığı: Sonucu Dışarı Çıkarmak
return anahtar kelimesi fonksiyonun "çıkış kapısıdır". Fonksiyon bu satıra ulaştığında çalışmayı durdurur ve yanındaki değeri, fonksiyonun çağrıldığı yere teslim eder.
C++:
int main() {
// Fonksiyon çağrılıyor ve dönen değer 'hesap' değişkenine atanıyor
int hesap = Topla(15, 25);
cout << "Toplam: " << hesap; // Çıktı: 40
return 0;
}
3. Parametre Gönderimi: Değer ve Referans
Parametreleri fonksiyona iki farklı şekilde gönderebilirsiniz:
[]Pass by Value (Değerle Gönderim): Değişkenin bir kopyası fonksiyona gider. Fonksiyon içinde yapılan değişiklikler orijinal değişkeni etkilemez.
[]Pass by Reference (Referansla Gönderim): Değişkenin kendisi (adresi) gönderilir. Fonksiyondaki değişiklik orijinal veriyi de değiştirir. (Bellek dostudur, büyük verilerde tercih edilir).
C++:
void Degistir(int &x) { // '&' sembolü referans olduğunu belirtir
x = 100;
}
int main() {
int a = 10;
Degistir(a);
cout << a; // Çıktı: 100 (Orijinal değer değişti!)
}
4. Fonksiyon Prototipi Nedir?
C++, kodu yukarıdan aşağıya okur. Eğer bir fonksiyonu main fonksiyonunun altına yazdıysanız, main onu tanıyamaz. Bu sorunu çözmek için fonksiyonun "imzasını" en başa yazmaya Prototip denir.
C++:
#include <iostream>
using namespace std;
int Carp(int a, int b); // Prototip
int main() {
cout << Carp(5, 4);
return 0;
}
int Carp(int a, int b) { // Gövde aşağıda
return a * b;
}
Sonuç
Fonksiyonlar, kodunuzu bir "yapılacaklar listesi" olmaktan çıkarıp, organize bir makineye dönüştürür. return ile veriyi dışarı çıkarmayı, void ile sadece işlem yapmayı ve parametrelerle fonksiyona can vermeyi öğrendiğinizde, profesyonel yazılım dünyasına gerçek bir adım atmış olursunuz.