Arguments par défaut de la programmation C ++ (paramètres)

Dans ce didacticiel, nous allons apprendre les arguments par défaut du C ++ et leur fonctionnement à l'aide d'exemples.

En programmation C ++, nous pouvons fournir des valeurs par défaut pour les paramètres de fonction.

Si une fonction avec des arguments par défaut est appelée sans passer d'arguments, les paramètres par défaut sont utilisés.

Cependant, si des arguments sont passés lors de l'appel de la fonction, les arguments par défaut sont ignorés.

Fonctionnement des arguments par défaut

Fonctionnement des arguments par défaut en C ++

Nous pouvons comprendre le fonctionnement des arguments par défaut à partir de l'image ci-dessus:

  1. Lorsqu'elle temp()est appelée, les deux paramètres par défaut sont utilisés par la fonction.
  2. Lorsqu'il temp(6)est appelé, le premier argument devient 6tandis que la valeur par défaut est utilisée pour le deuxième paramètre.
  3. Quand temp(6, -2.3)est appelé, les deux paramètres par défaut sont remplacés, ce qui entraîne i = 6et f = -2.3.
  4. Quand temp(3.4)est passé, la fonction se comporte d'une manière indésirable car le deuxième argument ne peut pas être passé sans passer le premier argument.
    Par conséquent, 3.4est passé comme premier argument. Puisque le premier argument a été défini comme int, la valeur qui est réellement passée est 3.

Exemple: argument par défaut

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

Production

 Aucun argument passé: *** Premier argument passé: ### Les deux arguments sont passés: $$$$$

Voici comment fonctionne ce programme:

  1. display()est appelée sans passer d'arguments. Dans ce cas, display()utilise à la fois les paramètres par défaut c = '*'et n = 1.
  2. display('#')est appelé avec un seul argument. Dans ce cas, le premier devient '#'. Le deuxième paramètre par défaut n = 1est conservé.
  3. display('#', count)est appelé avec les deux arguments. Dans ce cas, les arguments par défaut ne sont pas utilisés.

Nous pouvons également définir les paramètres par défaut dans la définition de la fonction elle-même. Le programme ci-dessous est équivalent à celui ci-dessus.

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

Choses dont il faut se rappeler

  1. Une fois que nous avons fourni une valeur par défaut pour un paramètre, tous les paramètres suivants doivent également avoir des valeurs par défaut. Par exemple,
     // 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. Si nous définissons les arguments par défaut dans la définition de fonction au lieu du prototype de fonction, alors la fonction doit être définie avant l'appel de fonction.
     // Invalid code int main() ( // function call display(); ) void display(char c = '*', int count = 5) ( // code )

Articles intéressants...