C++ ile fonksiyonlar konu anlatımına başlamadan önce fonksiyon nedir cevabını verelim.
C++ Fonksiyon Kullanımı: Bir fonksiyon yada diğer adı ile işlev, bir görevi yerine getiren bir ifadeler topluluğudur. Her C ++ programında adı main() olan en az bir fonksiyon bulunur ve tüm diğer küçük fonksiyonlar bu fonksiyona bağlanarak çalışır.
Kodlarınızı ayrı fonksiyonlara bölebilirsiniz. Kodunuzu alt programlara bölmek size kalmış, ancak mantıksal bir bütünlük içinde her fonksiyonun belirli bir görevi yerine getireceği şekilde bölmek en doğru yöntemdir.
Bir fonksiyon bildiriminde, derleyiciye bir fonksiyonun adını, dönüş türünü ve parametrelerini vermemiz gerekir. Bir fonksiyon tanımı, işlevin gerçek gövdesini de kapsar.
C ++ standart kütüphanesi, programınızın çağırabileceği çok sayıda yerleşik fonksiyon sunar. Örneğin, iki dizeyi birleştirmek için strcat() fonksiyonu, bir bellek konumunu başka bir konuma ve daha birçok işleve kopyalamak için memcpy() fonksiyonu örnek olarak verilebilir.
Bir fonksiyon; işlev, alt-program yada procedür olarak da isimlendirildiğini belirtmek isterim.
C++ ile ilgili örneklere geçmeden önce C++ ile fonksiyon tanımlamasına bakalım.
C++ Fonksiyon Tanımlama
Bir C ++ işlev tanımının genel şekli şöyledir:
1 2 3 4 5 |
dönüş_tipi fonksiyon_adı ( parametre listesi ) { fonksiyon gövdesi / yazılacak kodlar } |
Bir C ++ fonksiyon tanımı, bir fonksiyon üstbilgisi ve bir fonksiyon gövdesinden oluşur. İşte bir fonksiyonun tüm parçaları –
Dönüş Tipi: C++ dilinde bir fonksiyonun döndürdüğü değerin tipini gösterir. dönüş_tipi , fonksiyonun döndürdüğü değerin veri türüdür. Bazı işlevler, bir değer döndürmeden istenen işlemleri gerçekleştirir. Bu durumda, dönüş_tipi, void anahtar kelimesidir.
Fonksiyon Adı: Bu, fonksiyonun gerçek adıdır. Fonksiyon adı ve parametre listesi birlikte fonksiyon imzasını oluşturur.
Parametreler: Bir parametre yer tutucu gibidir. Bir fonksiyon çağrıldığında, parametreye bir değer iletirsiniz. Bu değer gerçek parametre veya argüman olarak adlandırılır. Parametre listesi, bir fonksiyonun parametrelerinin tipini, sırasını ve sayısını gösterir. Parametreler isteğe bağlıdır; Yani, bir işlev hiçbir parametre içermiyor olabilir.
Fonksiyon Gövdesi: İşlev gövdesi, işlevin ne yaptığını tanımlayan bir deyim koleksiyonu içerir.
C++ Fonksiyon Tanımlama Örneği:
İki sayıdan büyük olanı bulun geriye döndüren max() adlı bir fonksiyonun kaynak kodu aşağıdadır.
Bu fonksiyon, sayi1 ve sayi2 olmak üzere iki parametre alır ve alınan bu iki parametreden büyük olanını geri döndürür. Alınan parametreler ve dönen değerin türünün int (tam sayı) olduğunu belirtmek isterim.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
int max(int sayi1, int sayi2) { // yerel değişken int sonuc; if (sayi1> sayi2) sonuc= sayi1; else sonuc = sayi2; return sonuc; } |
Fonksiyon Bildirimleri
Bir fonksiyon bildirimi derleyiciye bir fonksiyon adı ve fonksiyonu nasıl çağırması gerektiğini söyler. Fonksiyonun gerçek gövdesi ayrı olarak tanımlanabilir.
Bir fonksiyon bildirimi aşağıdaki bölümlere sahiptir
1 2 3 |
dönüş_türü function_adı (parametre listesi); |
Yukarıda tanımlamadan faydalanarak max() fonksiyonunu aşağıdaki gibi bildirelim.
1 2 3 |
int max(int sayi1, int sayi2); |
Parametre isimleri bildirim yaparken fonksiyon tipinde önemli değildir, bu nedenle aşağıdakiler de geçerli bir bildirimdir.
1 2 3 |
int max (int, int); |
Tek bir kaynak dosyasında bir fonksiyon tanımladığınızda ve bu fonksiyonu başka bir dosyada çağırdığınızda işlev bildirimi gerekir. Böyle bir durumda, fonksiyonu çağırmak için dosyanın üstünde fonksiyonu bildirmelisiniz.
C++ Fonksiyonu Çağırma
Bir C ++ fonksiyonu oluştururken, fonksiyonun ne yapması gerektiğini tanımlamanız gerekir. Bir fonksiyonu kullanmak için, bu fonksiyonu çağırmanız gerekir.
Bir program bir fonksiyonu çağırdığında, program kontrolü çağrılan fonksiyona aktarılır. Çağrılan fonksiyon tanımlı görevi gerçekleştirir ve dönüş ifadesi yürütüldüğünde veya fonksiyon bitişli kapanma aygıta ulaşıldığında, program denetimini ana programa geri döndürür.
Bir fonksiyonu çağırmak için, gerekli parametreleri fonksiyon adıyla birlikte iletmeniz yeterlidir ve fonksiyon bir değer döndürürse, döndürülen değeri bir değişkende depolayabilirsiniz.
C++ Fonksiyon Kullanım Örneği:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
#include <iostream> using namespace std; // fonksiyon bildirimi int max(int num1, int num2); int main () { // yerel değişken int a = 10; int b = 20; int sonuc; // fonksiyon çağırma sonuc= max(a, b); cout << "Iki sayidan buyuk olan deger : " << sonuc<< endl; return 0; } // fonksiyon tanimlama int max(int num1, int num2) { // yerel değişken int s; if (num1 > num2) s= num1; else s= num2; return s; } |
1 2 3 |
Iki sayidan buyuk olan deger : 20 |
C++ Fonksiyon Parametre
Eğer bir fonksiyonda argüman(parametre) kullanılırsa, argümanların değerlerini kabul eden değişkenlerin beyan edilmesi gerekir. Bu değişkenler fonksiyonun resmi parametreleri olarak adlandırılır.
Resmi parametreler, fonksiyon içindeki diğer yerel değişkenler gibi davranır ve fonksiyona girdikten sonra oluşturulur ve çıkışta yok edilir.
Bir fonksiyon çağırırken, argümanların bir işleve iletilebilmesi için üç yol vardır:
Değer ile Çağırma: Bu yöntem, bir argümanın gerçek değerini fonksiyonun resmi parametresine kopyalar. Bu durumda, işlevin içindeki parametreye yapılan değişikliklerin argüman üzerinde bir etkisi yoktur.
Pointer ile Çağırma: Bu yöntem, bir argümanın adresini resmi parametreye kopyalar. Fonksiyonun içinde, adres aramada kullanılan gerçek argümana erişmek için kullanılır. Bu, parametreye yapılan değişikliklerin argümanı etkilediği anlamına gelir.
Referans ile Çağırma: Bu yöntem, bir argümanın referansını resmi parametreye kopyalar. Fonksiyonun içinde referans, çağrıda kullanılan gerçek argümana erişmek için kullanılır. Bu, parametreye yapılan değişikliklerin argümanı etkilediği anlamına gelir.
*Varsayılan olarak, C ++ bağımsız değişkenleri iletmek için değer ile çağırma kullanır. Genel olarak, bu, bir fonksiyon içindeki kodun, işlevi çağırmak için kullanılan argümanları ve yukarıda belirtilen örneği değiştirirken max() işlevinin aynı yöntemi kullandığı anlamına gelmez.
C++ Parametreler için Varsayılan Değerler
Bir fonksiyonu tanımladığınızda, son parametrelerin her biri için varsayılan bir değer belirtebilirsiniz. Bu değer, fonksiyon çağrılırken karşılık gelen argüman boş bırakılırsa kullanılacaktır.
Bu, atama operatörü kullanılarak ve işlev tanımında argümanlar için değerler atayarak yapılır. İşlev çağrıldığında bu parametrenin değeri iletilmezse, varsayılan verilen değer kullanılır, ancak bir değer belirtilirse, bu varsayılan değer yoksayılır ve bunun yerine geçirilen değer kullanılır.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#include <iostream> using namespace std; int topla(int a, int b = 20) { int sonuc; sonuc= a + b; return (sonuc); } int main () { // yerel değişken int a = 100; int b = 200; int sonuc; // iki parametre göndererek çağırma. result = topla(a, b); cout << "Sayilarin toplami :" << result << endl; // tek parametre ile çağırma result = topla(a); cout << "Sayilarin toplami :" << result << endl; return 0; } |
Yukarıdaki programı kaydedip derlediğimizde aşağıdaki gibi bir ekran çıktısı oluşacaktır.
1 2 3 4 |
Sayilarin toplami :300 Sayilarin toplami :120 |
result tanımlanmamamış ya da sonuc olarak değiştirebilirsin.
[…] C++ Örneği: Parametresinde verilen sayının değeri tek ise true çift ise false döndüren metodu yazınız(C++ Fonksiyon tanımlama) […]