Dalam tutorial ini, kita akan mempelajari argumen default C ++ dan cara kerjanya dengan bantuan contoh.
Dalam pemrograman C ++, kami dapat memberikan nilai default untuk parameter fungsi.
Jika fungsi dengan argumen default dipanggil tanpa memberikan argumen, maka parameter default akan digunakan.
Namun, jika argumen diteruskan saat memanggil fungsi tersebut, argumen default akan diabaikan.
Bekerja dari argumen default

Kita dapat memahami cara kerja argumen default dari gambar di atas:
- Saat
temp()
dipanggil, kedua parameter default digunakan oleh fungsi. - Saat
temp(6)
dipanggil, argumen pertama menjadi6
sementara nilai default digunakan untuk parameter kedua. - Saat
temp(6, -2.3)
dipanggil, kedua parameter default diganti, menghasilkani = 6
danf = -2.3
. - Saat
temp(3.4)
diteruskan, fungsi berperilaku tidak diinginkan karena argumen kedua tidak dapat diteruskan tanpa meneruskan argumen pertama.
Oleh karena itu,3.4
dilewatkan sebagai argumen pertama. Karena argumen pertama telah didefinisikan sebagaiint
, nilai yang diberikan adalah3
.
Contoh: Argumen Default
#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; )
Keluaran
Tidak ada argumen yang lolos: *** Argumen pertama disampaikan: ### Kedua argumen disampaikan: $$$$$
Berikut cara kerja program ini:
display()
dipanggil tanpa memberikan argumen apa pun. Dalam kasus ini,display()
menggunakan parameter defaultc = '*'
dann = 1
.display('#')
dipanggil dengan hanya satu argumen. Dalam hal ini, yang pertama menjadi'#'
. Parameter default keduan = 1
dipertahankan.display('#', count)
dipanggil dengan kedua argumen. Dalam kasus ini, argumen default tidak digunakan.
Kami juga dapat menentukan parameter default dalam definisi fungsi itu sendiri. Program di bawah ini sama dengan program di atas.
#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; )
Hal-hal untuk diingat
- Setelah kami memberikan nilai default untuk sebuah parameter, semua parameter berikutnya juga harus memiliki nilai default. Sebagai contoh,
// 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);
- Jika kita mendefinisikan argumen default dalam definisi fungsi daripada prototipe fungsi, maka fungsi tersebut harus didefinisikan sebelum pemanggilan fungsi.
// Invalid code int main() ( // function call display(); ) void display(char c = '*', int count = 5) ( // code )