Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

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

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

Dans ce didacticiel, nous apprendrons les arguments par défaut de 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, alors 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.

Travail des arguments par défaut

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

  1. Quand temp() est appelée, les deux paramètres par défaut sont utilisés par la fonction.
  2. Quand temp(6) est appelé, le premier argument devient 6 tandis que la valeur par défaut est utilisée pour le second paramètre.
  3. Quand temp(6, -2.3) est appelé, les deux paramètres par défaut sont remplacés, ce qui donne i = 6 et f = -2.3 .
  4. Quand temp(3.4) est passé, la fonction se comporte de manière indésirable car le deuxième argument ne peut pas être passé sans passer le premier argument.

    Par conséquent, 3.4 est passé en premier argument. Puisque le premier argument a été défini comme int , la valeur réellement transmise est 3 .

Exemple :Argument par défaut

#include <iostream>
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;
}

Sortie

No argument passed: ***
First argument passed: ###
Both arguments passed: $$$$$

Voici comment fonctionne ce programme :

  1. display() est appelée sans passer d'arguments. Dans ce cas, display() utilise les deux paramètres par défaut c = '*' et n = 1 .
  2. display('#') est appelée avec un seul argument. Dans ce cas, le premier devient '#' . Le deuxième paramètre par défaut n = 1 est conservé.
  3. display('#', count) est appelée 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 <iostream>
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 à retenir

  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 la fonction au lieu du prototype de la fonction, alors la fonction doit être définie avant l'appel de la fonction.
    // Invalid code
    
    int main() {
        // function call
        display();
    }
    
    void display(char c = '*', int count = 5) {
        // code
    }

Langue C

  1. Espaces de noms dans la programmation C#
  2. Opérateurs C++
  3. Commentaires C++
  4. Passage d'un tableau à une fonction en programmation C++
  5. Modèles de classe C++
  6. Opérateurs de programmation C
  7. Types de fonctions définies par l'utilisateur dans la programmation C
  8. C Tutoriel
  9. C-Fonctions