Argomenti predefiniti di programmazione C ++ (parametri)

In questo tutorial impareremo gli argomenti predefiniti di C ++ e il loro lavoro con l'aiuto di esempi.

Nella programmazione C ++, possiamo fornire valori predefiniti per i parametri delle funzioni.

Se una funzione con argomenti predefiniti viene chiamata senza passare argomenti, vengono utilizzati i parametri predefiniti.

Tuttavia, se gli argomenti vengono passati durante la chiamata della funzione, gli argomenti predefiniti vengono ignorati.

Utilizzo di argomenti di default

Come funzionano gli argomenti predefiniti in C ++

Possiamo capire il funzionamento degli argomenti predefiniti dall'immagine sopra:

  1. Quando temp()viene chiamato, entrambi i parametri predefiniti vengono utilizzati dalla funzione.
  2. Quando temp(6)viene chiamato, il primo argomento diventa 6mentre il valore predefinito viene utilizzato per il secondo parametro.
  3. Quando temp(6, -2.3)viene chiamato, entrambi i parametri predefiniti vengono sovrascritti, risultando in i = 6e f = -2.3.
  4. Quando temp(3.4)viene passato, la funzione si comporta in modo indesiderato perché il secondo argomento non può essere passato senza passare il primo argomento.
    Pertanto, 3.4viene passato come primo argomento. Poiché il primo argomento è stato definito come int, il valore effettivamente passato è 3.

Esempio: argomento predefinito

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

Produzione

 Nessun argomento passato: *** Primo argomento passato: ### Entrambi gli argomenti passati: $$$$$

Ecco come funziona questo programma:

  1. display()viene chiamato senza passare alcun argomento. In questo caso, display()utilizza sia i parametri predefiniti c = '*'che n = 1.
  2. display('#')viene chiamato con un solo argomento. In questo caso, il primo diventa '#'. Il secondo parametro predefinito n = 1viene mantenuto.
  3. display('#', count)viene chiamato con entrambi gli argomenti. In questo caso, gli argomenti predefiniti non vengono utilizzati.

Possiamo anche definire i parametri di default nella definizione della funzione stessa. Il programma sotto è equivalente a quello sopra.

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

Cose da ricordare

  1. Una volta fornito un valore predefinito per un parametro, anche tutti i parametri successivi devono avere valori predefiniti. Per esempio,
     // 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. Se stiamo definendo gli argomenti predefiniti nella definizione della funzione invece del prototipo della funzione, la funzione deve essere definita prima della chiamata della funzione.
     // Invalid code int main() ( // function call display(); ) void display(char c = '*', int count = 5) ( // code )

Articoli interessanti...