Passando argumentos para funções em C ++
funções C ++ que não fazem nada, mas retornam um valor são de valor limitado porque a comunicação é unidirecional - a partir da função para o chamador. Duas vias de comunicação exige argumentos da função
.Função com argumentos
Uma função argumento é uma variável cujo valor é passado para a função durante a chamada. Os seguintes FactorialFunction converte a operação fatorial anterior em uma função:
//// FactorialFunction - reescrever o código factorial como // uma function.//#include separada#incluir #incluir usando namespace std - //// factorial - retornar o factorial do argumento // fornecido. Retorna 1 para argumentos inválidos // como factorial numbers.int negativo (int nTarget) {// começar com um acumulador que é inicializado para 1int nAccumulator = 1-for (int nValue = 1- nValue lt; = nTarget- nValue ++) {nAccumulator * = nValue-} retornar nAccumulator-} int main (int nNumberofArgs, char * pszArgs []) {cout lt; lt; "Este programa calcula fatoriais" lt; lt; "De entrada do usuário. N" lt; lt; "Insira um número negativo para sair" lt; lt; endl - // ficar em um loop recebendo entrada do usuário // até que ele entra em um numberfor negativo (-) {// inserir o número para calcular o ofint factorial nValue-cout lt; lt; "Insira o número:" CIN II-III >> nValue - // saída se o número for negativeif (nValue lt; 0) {break -} // exibir o resultint nFactorial = fatorial (nValue) -cout lt; lt; nValue lt; lt; "Factorial é" lt; lt; nFactorial lt; lt; endl -} // espera até que o usuário está pronto antes de terminar o programa // para permitir que o usuário veja o resultscout programa lt; lt; "Pressione Enter para continuar ..." lt; lt; endl-cin.ignore (10, ' n') - cin.get () - retornar 0-}
A declaração de fatorial() inclui um argumento nTarget do int. Olhando para o futuro, você pode ver que este se destina a ser o valor cujo factorial o programa calcula. O valor de retorno da função é o fatorial calculado.
Dentro a Principal(), o programa pede ao utilizador para um valor, que ele armazena em nValue. Se o valor for negativo, o programa termina. Se não, ele chama fatorial() e transmite o valor de nValue. O programa armazena o valor retornado em nFactorial. Em seguida, ele emite ambos os valores antes de voltar para pedir ao utilizador para um novo valor.
Funções com múltiplos argumentos
Uma função pode ter vários argumentos, separando-os por vírgulas. Assim, a função a seguir retorna o produto de dois argumentos inteiros:
produto int (int nValue1, int nValue2) {return nValue1 * nValue2-}
Expondo main ()
Agora, a verdade pode ser dita: O # 147-chave # 148- a Principal() a partir do modelo padrão é nada mais do que uma função - embora uma função com argumentos estranhos, mas uma função, no entanto.
Quando um programa é construído, C ++ adiciona algum código clichê que executa antes de seu programa sempre ganha o controle. Este código configura o ambiente em que o programa irá operar. Por exemplo, este código padrão abre os canais de entrada e de saída por defeito e atribui-los ao cin e cout.
Depois que o ambiente tenha sido estabelecida, o código padrão C ++ chama a função a Principal(), começando assim a execução de seu código. Quando o programa termina, ele retorna de a Principal(). Isso permite clichê do C ++ para limpar algumas coisas antes de terminar o programa e entregar o controle de volta para o sistema operacional.