C++

C++ Fonksiyonlar

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:

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.

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

Yukarıda tanımlamadan faydalanarak max() fonksiyonunu aşağıdaki gibi bildirelim.

Parametre isimleri bildirim yaparken fonksiyon tipinde önemli değildir, bu nedenle aşağıdakiler de geçerli bir bildirimdir.

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:

max() fonksiyonunu, main() fonksiyonu ile aynı kaynak kod içinde derledim ve program aşağıdaki kodu üretti.

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.

Yukarıdaki programı kaydedip derlediğimizde aşağıdaki gibi bir ekran çıktısı oluşacaktır.

 

 

 

 

1 Yorum

Yorum yap

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d blogcu bunu beğendi: