Parâmetros padrão
Um argumento ou parâmetro padrão é o valor introduzido na função no momento da declaração da função. Este valor é atribuído pelo compilador automaticamente quando a função é chamada. Durante qualquer chamada de função, se nenhum valor for passado como um parâmetro para a função, isso significa que o valor padrão será utilizado. Caso contrário, o valor padrão será substituído pelo novo.
Implementação de parâmetros padrão
Exemplo 1
Aqui, vamos citar um exemplo de exemplo. Este exemplo conterá uma função para calcular a soma dos valores passados como parâmetros pela chamada de função. A função conterá quatro variáveis. Primeiro, todos são inicializados como zero. Vamos chamar a função no programa principal, passando argumentos para a função. O número de argumentos pode variar. Passaremos dois argumentos, depois três, e quatro parâmetros serão passados na última chamada de função.
Soma (20, 25, 30, 35);Quando você passa dois parâmetros, esses dois serão armazenados em apenas duas variáveis; Enquanto o resto permanecerá zero. Um caso semelhante é para a chamada de função com três parâmetros. Mas, quando houver quatro argumentos, isso significa que todas as quatro variáveis conterão valores a serem adicionados.
Salve o código e, em seguida, execute -os no terminal Ubuntu usando um compilador G ++.
$ g ++ -o def.cVocê verá o valor resultante para cada chamada de função.
Exemplo 2
Este exemplo lida com o uso de parâmetros padrão de maneira diferente para cada chamada de função, conforme explicado no exemplo anterior. Primeiro, defina a função com o tipo de retorno e os parâmetros padrão. Como sabemos, os parâmetros padrão são declarados no início. Então, declararemos os valores para as duas variáveis aqui:
Void Display (char = '*', int = 3);A tela é o nome da função. Essa declaração padrão de parâmetros funcionará quando a função for chamada com argumentos vazios, suportes ou sem valor. Dentro do programa principal, declaramos uma variável de contagem do tipo inteiro, que será usado no loop para iteração até esse limite. Primeiro, a chamada de função é feita sem argumentos dentro dela. Isso significa que os parâmetros padrão declarados para a função serão usados. Portanto, os parâmetros para esta chamada de função serão * e 3. Na segunda chamada de função, passamos um único símbolo de parâmetro "#". Portanto, neste caso, o parâmetro padrão da segunda variável, 3, será usado como é. Mas o símbolo que é passado será substituído pelo símbolo que declaramos anteriormente.
Mostrar ('#');Agora, chegando em direção à terceira chamada de função, dois argumentos serão aprovados desta vez, um símbolo '$' e a variável inteira como contagem, que foi declarada como 5 no programa principal. Ambos os parâmetros padrão não serão usados; Os novos argumentos substituirão esses parâmetros padrão.
Display ('$', contagem);Fora da função principal, a função de exibição, que foi declarada pela primeira vez, agora é executada por ter um loop que itera até o valor da contagem. Cada iteração exibirá o personagem passado para ele. Caso contrário, o valor padrão será exibido.
Agora, execute todo o código. Você verá que cada vez que um símbolo é exibido na enésima vez, o valor é passado como um parâmetro.
Exemplo 3
Este exemplo será sobre o fenômeno da sobrecarga de função em C ++, enquanto possui parâmetros padrão.
Sobrecarga da função
Por exemplo, uma função com uma amostra de nome é descrita como:
Int amostra (int a)Essas funções descritas têm o mesmo nome, mas argumentos diferentes. Agora, consideraremos um programa C ++ para elaborar esse conceito em parâmetros padrão.
Na função principal, a função é chamada com um número diferente de parâmetros, com 2, 3 e 4 valores. Agora, execute o código, você verá que ocorrerá um erro de ambiguidade.
Quando duas funções com o mesmo nome são declaradas, é necessário ter parâmetros diferentes. Mas ambas as funções com o mesmo nome contêm quase os mesmos parâmetros, dois mesmos e dois diferentes. Os mesmos argumentos da função confundirão o compilador ao escolher qual função escolher, porque as especificações de ambas as funções são as mesmas. Temos uma solução para resolver esse dilema da ambiguidade em relação aos parâmetros padrão.
Primeiro, vamos mudar o tipo de retorno de ambas as funções. Da mesma forma, os parâmetros terão consistência no tipo de dados da variável. Por exemplo, uma função levará o mesmo tipo de dados para todas as variáveis, inteiro ou flutuante.
Soma flutuante (flutuação x, flutuar y, flutuar z, flutuar w);Agora, no programa principal, ao chamar a função, levaremos os dois valores de acordo com os tipos de dados. Mas lembre -se de que todos os números como argumentos seguirão o tipo de dados da variável declarada. Em outras palavras, todos os números em uma única chamada de função serão do mesmo tipo de dados.
Soma (1.0f, 1.5f, 2.5f, 3.5f);Mencionamos "f" em uma forma curta com cada valor de flutuação para identificar que é um valor de flutuação e será transmitido para a função com variáveis de tipo de dados flutuantes.
Na execução, você verá os resultados obtidos; Primeiro e terceiro valores serão obtidos da função com tipos de dados inteiros. Enquanto o segundo será obtido da função com tipos de dados flutuantes.
Exemplo 4
Este exemplo é uma função de sobrecarga com uma diferença no número de parâmetros. Uma exibição de função é declarada aqui sem tipo de retorno, pois a instrução Cout dentro da função exibirá os resultados. Uma função levará dois parâmetros: int e um tipo de dados duplo. A segunda função terá uma única variável de tipo de dados duplo, e a terceira levará apenas uma variável de tipo de dados inteiro.
Duas variáveis serão declaradas no programa principal. Esses valores serão passados para a função. A chamada de função é para a função específica em cada célula, dependendo do número de parâmetros padrão.
Conclusão
Os parâmetros padrão são declarados dentro da função no momento da declaração de uma função. Usamos alguns exemplos em C ++ para elaborar a declaração e o processo de parâmetros padrão no sistema Ubuntu. Durante a substituição da função, o uso de parâmetros padrão pode ser uma situação de criação de problemas com os mesmos parâmetros padrão. Esperamos que você tenha achado este artigo útil. Verifique os outros artigos de dica do Linux para obter mais dicas e tutoriais.