Argumen Default Pemrograman C ++ (Parameter)

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

Bagaimana argumen default bekerja di C ++

Kita dapat memahami cara kerja argumen default dari gambar di atas:

  1. Saat temp()dipanggil, kedua parameter default digunakan oleh fungsi.
  2. Saat temp(6)dipanggil, argumen pertama menjadi 6sementara nilai default digunakan untuk parameter kedua.
  3. Saat temp(6, -2.3)dipanggil, kedua parameter default diganti, menghasilkan i = 6dan f = -2.3.
  4. Saat temp(3.4)diteruskan, fungsi berperilaku tidak diinginkan karena argumen kedua tidak dapat diteruskan tanpa meneruskan argumen pertama.
    Oleh karena itu, 3.4dilewatkan sebagai argumen pertama. Karena argumen pertama telah didefinisikan sebagai int, nilai yang diberikan adalah 3.

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:

  1. display()dipanggil tanpa memberikan argumen apa pun. Dalam kasus ini, display()menggunakan parameter default c = '*'dan n = 1.
  2. display('#')dipanggil dengan hanya satu argumen. Dalam hal ini, yang pertama menjadi '#'. Parameter default kedua n = 1dipertahankan.
  3. 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

  1. 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);
  2. 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 )

Artikel yang menarik...