English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ Parâmetros padrão (argumentos)

Neste artigo, você aprenderá o que são os parâmetros padrão, como usá-los e a necessidade de declaração deles.

Em C ++Em programação, você pode fornecerFunçãoValores padrão dos parâmetros.

A ideia por trás dos parâmetros padrão é simples. Se a função for chamada passando parâmetros, esses parâmetros serão usados pela função.

Mas, se não for passado nenhum parâmetro na chamada da função, usa-se o valor padrão.

Os valores padrão são passados aos parâmetros no原型 do função.

Como funcionam os parâmetros padrão

Exemplo: parâmetros padrão

// c++O programa demonstra como funcionam os parâmetros padrão
#include <iostream>
using namespace std;
void display(char ='*', int = 1);
int main()
{
    cout << "\nNenhum parâmetro é passado:\n";
    display();
    
    
    display('#');
    
    cout << "\nDois parâmetros são passados:\n";
    display('$', 5);
    return 0;
}
void display(char c, int n)
{
    for(int i = 1; i <= n; ++i)
    {
        cout << c;
    }
    cout << endl;
}

Resultados de saída

Nenhum parâmetro é passado:
*
O primeiro parâmetro é passado:
#
Dois parâmetros são passados:
$$$$$

No programa acima, você pode ver que é atribuído um valor padrão para o parâmetro void display(char ='*',int = 1);

Primeiro, chame a função sem passar nenhum parâmetro para display(). Neste caso, a função display() usa tanto o parâmetro padrão c = *e n = 1.

Então, na segunda chamada da função, só é passado o primeiro parâmetro. Neste caso, a função não usa o valor padrão passado como o primeiro parâmetro. Ela usa o valor real passado como o primeiro parâmetro c = # e o valor padrão n = 1como o segundo parâmetro.

Quando o display() é chamado pela terceira vez, passam dois parâmetros, nenhum deles usando o parâmetro padrão. Os valores passados são c = $ e n = 5.

Erros comuns ao usar parâmetros padrão

  1. void add(int a, int b = 3, int c, int d = 4);
    A função acima não pode ser compilada. Você não pode pular o parâmetro padrão entre dois parâmetros.
    neste caso, c deve ser atribuído um valor padrão.
     

  2. void add(int a, int b = 3, int c, int d);
    A função acima também não compilará. Você deve fornecer um valor padrão para cada parâmetro após b.
    Neste caso, c e d também devem ter valores padrão atribuídos.
    Se precisar apenas de um parâmetro padrão, certifique-se de que o parâmetro é o último. Por exemplo: void add(int a, int b, int c, int d = 4);
     

  3. Se sua função executar várias operações ou a lógica parecer muito complexa, você pode usar  Sobrecarga de FunçãoMelhor separação lógica.

  4. De qualquer forma, ao usar parâmetros padrão, deve-se sempre escrever uma função que serve apenas a um propósito.