Bu eğitimde, C ++ varsayılan argümanlarını ve bunların örneklerin yardımıyla çalışmalarını öğreneceğiz.
C ++ programlamada, fonksiyon parametreleri için varsayılan değerler sağlayabiliriz.
Varsayılan bağımsız değişkenlere sahip bir işlev bağımsız değişkenler iletilmeden çağrılırsa, varsayılan parametreler kullanılır.
Bununla birlikte, işlev çağrılırken bağımsız değişkenler iletilirse, varsayılan bağımsız değişkenler yok sayılır.
Varsayılan argümanların çalışması

Varsayılan argümanların çalışmasını yukarıdaki görüntüden anlayabiliriz:
- Ne zaman
temp()
denir, hem varsayılan parametreleri işlevi tarafından kullanılmaktadır. - Çağrıldığında
temp(6)
,6
ikinci parametre için varsayılan değer kullanılırken ilk bağımsız değişken olur . - Ne zaman
temp(6, -2.3)
denir, hem varsayılan parametreleri sonuçlanan geçersiz kılınıri = 6
vef = -2.3
. - Tüm
temp(3.4)
geçirilir ikinci bağımsız ilk argüman geçmeksizin geçilemeyen için fonksiyon istenmeyen bir şekilde hareket eder.
Bu nedenle3.4
ilk argüman olarak aktarılır. İlk bağımsız değişken olarak tanımlandığındanint
, gerçekte iletilen değer 'dir3
.
Örnek: Varsayılan Bağımsız Değişken
#include using namespace std; // defining the default arguments void display(char = '*', int = 3); int main() ( int count = 5; cout << "No argument passed: "; // *, 3 will be parameters display(); cout << "First argument passed: "; // #, 3 will be parameters display('#'); cout << "Both arguments passed: "; // $, 5 will be parameters display('$', count); return 0; ) void display(char c, int count) ( for(int i = 1; i <= count; ++i) ( cout << c; ) cout << endl; )
Çıktı
Hiçbir bağımsız değişken geçilmedi: *** İlk bağımsız değişken: ### Her iki bağımsız değişken de iletildi: $$$$$
Bu program şu şekilde çalışır:
display()
herhangi bir argüman iletmeden çağrılır. Bu durumda,display()
varsayılan parametreleri hem kullanırc = '*'
ven = 1
.display('#')
tek bir argümanla çağrılır. Bu durumda, ilk olur'#'
. İkinci varsayılan parametren = 1
korunur.display('#', count)
her iki argümanla çağrılır. Bu durumda, varsayılan argümanlar kullanılmaz.
Varsayılan parametreleri fonksiyon tanımının kendisinde de tanımlayabiliriz. Aşağıdaki program yukarıdakine eşdeğerdir.
#include using namespace std; // defining the default arguments void display(char c = '*', int count = 3) ( for(int i = 1; i <= count; ++i) ( cout << c; ) cout << endl; ) int main() ( int count = 5; cout << "No argument passed: "; // *, 3 will be parameters display(); cout << "First argument passed: "; // #, 3 will be parameters display('#'); cout << "Both argument passed: "; // $, 5 will be parameters display('$', count); return 0; )
Hatırlanacak şeyler
- Bir parametre için varsayılan bir değer sağladığımızda, sonraki tüm parametrelerin de varsayılan değerleri olmalıdır. Örneğin,
// Invalid void add(int a, int b = 3, int c, int d); // Invalid void add(int a, int b = 3, int c, int d = 4); // Valid void add(int a, int c, int b = 3, int d = 4);
- İşlev prototipi yerine işlev tanımında varsayılan argümanları tanımlıyorsak, işlev çağrılmadan önce işlevin tanımlanması gerekir.
// Invalid code int main() ( // function call display(); ) void display(char c = '*', int count = 5) ( // code )