Biçimsel Parametreler

Fonksiyona geçirilen tüm parametreler yereldir. Kapsam, fonksiyon bloğunun alanı kadardır. Biçimsel parametrelerin isimleri, dışsal değişkenlerin isimlerinden ve fonksiyon içinde tanımlanmış yerel değişkenlerin isimlerinden farklı olmalıdır. Fonksiyon bloğundaki biçimsel parametrelere aynı değerler atanabilir. Eğer bir biçimsel parametre const şekillendiricisi ile bildirilmişse, değeri fonksiyon içerisinde değiştirilemez.

Örnek:

void func(const int & x[], double y, bool z)
  {
   if(y>0.0 && !z)
      Print(x[0]);
  ... 
  }

Biçimsel parametreler, sabitler kullanılarak başlatılabilir. Bu durumda başlatma değeri varsayılan olarak kabul edilir. Başlatılmış olandan sonra gelen parametreler de başlatılmalıdır.

Örnek:

void func(int x, double y = 0.0, bool z = true)
  {
  ... 
  }

Böyle bir fonksiyonu çağırırken başlatılan parametreler atlanabilir, ön tanımlı olanlar bunların yerine ikame edilecektir.

Örnek:

func(1230.5);

Basit tipli parametreler 'değer ile' geçirilir. Yani çağrılan fonksiyonun içinde, söz konusu parametreye karşılık gelen aynı tipli yerel değişken üzerinde yapılan oynamalar, çağıran fonksiyona yansımaz. Yapı verilerini veya tiplerini içeren diziler her zaman 'referans ile' geçirilirler. Dizi veya yapı içeriklerinin değiştirilmesi istenmiyorsa, bu tipteki parametreler const anahtar sözcüğü ile bildirilmelidir.

Basit tipli parametreleri referans ile geçirebilirsiniz. Ama, çağıran fonksiyon içinde ilgili parametrelerin değiştirilmesi durumunda, karşılık gelen referans ile geçirilmiş değişkenler de etkilenecektir. Bir parametrenin referans ile geçirildiğini belirtmek amacıyla veri tipinden sonra & şekillendiricisini kullanın.

Örnek:

void func(int& x, double& y, double & z[])
  {
   double calculated_tp;
  ... 
   for(int i=0; i<OrdersTotal(); i++)
     {
      if(i==ArraySize(z))       break;
      if(OrderSelect(i)==falsebreak;
      z[i]=OrderOpenPrice();
     }
   x=i;
   y=calculated_tp;
  }

Referans ile geçirilmiş parametreler ön-tanımlı değerler ile başlatılamaz.

Bir fonksiyona en fazla 64 parametre geçirilebilir.

Ayrıca Bakınız

Girdi Değişkenler, Veri tipleri, Tiplerin Kapsüllenmesi ve Genişletilebilirliği, Değişkenlerin Başlatılması, Değişkenlerin Görünürlük Alanları ve Ömürleri, Nesnelerin Oluşturulması ve Silinmesi