C ++ programozási alapértelmezett argumentumok (paraméterek)

Ebben az oktatóanyagban megtanuljuk a C ++ alapértelmezett argumentumait és azok működését példák segítségével.

A C ++ programozásban megadhatunk alapértelmezett értékeket a függvényparaméterekhez.

Ha az alapértelmezett argumentumokkal rendelkező függvényt argumentumok átadása nélkül hívják meg, akkor az alapértelmezett paramétereket kell használni.

Ha azonban argumentumokat adunk át a függvény meghívása közben, akkor az alapértelmezett argumentumokat figyelmen kívül hagyjuk.

Alapértelmezett argumentumok működése

Hogyan működnek az alapértelmezett argumentumok C ++ nyelven

Megértjük az alapértelmezett argumentumok működését a fenti képből:

  1. Amikor temp()meghívásra kerül, a függvény mindkét alapértelmezett paramétert használja.
  2. Amikor temp(6)meghívja, az első argumentum lesz, 6míg a második paraméter az alapértelmezett értéket használja.
  3. Amikor temp(6, -2.3)meghívják, mindkét alapértelmezett paraméter felülbírálódik, aminek eredményeként i = 6és f = -2.3.
  4. Ha temp(3.4)vezetünk, akkor a funkció viselkedik egy nemkívánatos módon, mert a második érvet nem hárítható át nem haladnak az első érv.
    Ezért 3.4első érvként átadva. Mivel az első argumentumot úgy definiálták int, a ténylegesen átadott érték az 3.

Példa: Alapértelmezett argumentum

 #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; )

Kimenet

 Nincs argumentum: *** Első argumentum: ### Mindkét argumentum átadva: $$$$$

A program így működik:

  1. display()argumentum nélkül adják meg. Ebben az esetben display()is használ az alapértelmezett paramétereket c = '*'és n = 1.
  2. display('#')csak egyetlen érvvel hívják meg. Ebben az esetben az első válik '#'. A második alapértelmezett paraméter n = 1megmarad.
  3. display('#', count)mindkét argumentummal hívják meg. Ebben az esetben az alapértelmezett argumentumokat nem használják.

Magában a függvénydefinícióban definiálhatjuk az alapértelmezett paramétereket is. Az alábbi program egyenértékű a fenti programmal.

 #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; )

Dolgok, amikre emlékezni kell

  1. Amint megadunk egy paraméter alapértelmezett értékét, minden további paraméternek rendelkeznie kell alapértelmezett értékkel is. Például,
     // 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. Ha a függvény prototípusa helyett definiáljuk az alapértelmezett argumentumokat a függvénydefinícióban, akkor a függvényt a függvényhívás előtt meg kell határozni.
     // Invalid code int main() ( // function call display(); ) void display(char c = '*', int count = 5) ( // code )

érdekes cikkek...