Latest web development tutorials

função C ++

É um conjunto de funções para executar uma declaração de missão juntos. Cada programa C ++ tem pelo menos uma função, que é a principal funçãoprincipal (), todos simples programa pode definir outras funções adicionais.

Você pode colocar o código em diferentes funções. Como dividir o código em funções separadas cabe a você decidir, mas logicamente dividida geralmente executar cada função com base em uma tarefa específica de realizar.

declaração de função diz o nome da função compilador, tipo de retorno e parâmetro.definição de função fornece o corpo real da função.

C ++ biblioteca padrão fornece uma série de funções embutidas do programa pode chamar. Por exemplo, ostrcat () função é utilizada para ligar duas cordas, o memcpy ()para copiar a memória para outro local.

Existem muitos função é chamada, tais como os métodos, procedimentos ou sub-rotinas, e assim por diante.

Funções definidas

A forma geral da definição de função de C ++ é como se segue:

return_type function_name( parameter list )
{
   body of the function
}

Em C ++, a função consiste em um cabeçalho função e uma componentes do corpo função. Listados abaixo são todos parte de uma função:

  • Tipo de retorno: A função pode retornar um valor.return_type é o tipo de dados do valor retornado pela função. Algumas funções executar a operação desejada, sem o valor de retorno, neste caso, return_typevazio palavra-chave.
  • Nome da função: Este é o nome real da função.nome da função e lista de parâmetros em conjunto, constituem a assinatura de função.
  • Parâmetros: Parâmetro é como um espaço reservado.Quando a função é chamada, você passar um valor para o parâmetro, esse valor é chamado os parâmetros reais. Lista de parâmetros incluem o tipo de parâmetros de função, a quantidade do pedido. O parâmetro é opcional, isto é, a função pode não conter parâmetros.
  • Principal função: corpo da função contém um conjunto de funções definidas declaração de missão.

Exemplos

A seguir, são a funçãomax () no código-fonte.Esta função tem dois parâmetros num1 e num2, que retornará o maior dos dois números contam:

// 函数返回两个数中较大的那个数
 
int max(int num1, int num2) 
{
   // 局部变量声明
   int result;
 
   if (num1 > num2)
      result = num1;
   else
      result = num2;
 
   return result; 
}

declaração de função

declaração de função diz o nome da função compilador, e como chamar a função.O corpo real da função pode ser definida individualmente.

declaração de função inclui as seguintes seções:

return_type function_name( parameter list );

Definido acima para a função max (), o seguinte é uma declaração de função:

int max(int num1, int num2);

Na declaração de função, o nome do parâmetro não é importante, só é necessário o parâmetro do tipo, de modo que o que se segue é uma declaração válida:

int max(int, int);

Quando você define uma função em um arquivo de origem e chamar uma função em outro arquivo, a declaração de função é necessária. Neste caso, você deve ligar para o topo da função de arquivo de declaração de função.

funções de chamada

função quando você cria um C ++ que define quais funções fazer, e, em seguida, para completar a tarefa, chamando a função foi definida.

Quando um programa chama uma função, o controlo do programa vai ser transferido para a função de chamada. Quando a função executa as tarefas definidas que são chamados quando a instrução de retorno da função é executada, ou chegar a função de suporte de final, o programa irá retornar o controle para o programa principal.

Quando você chamar a função, passando os parâmetros necessários, se a função retorna um valor, você pode armazenar o valor de retorno. Por exemplo:

#include <iostream>
using namespace std;
 
// 函数声明
int max(int num1, int num2);
 
int main ()
{
   // 局部变量声明
   int a = 100;
   int b = 200;
   int ret;
 
   // 调用函数来获取最大值
   ret = max(a, b);
 
   cout << "Max value is : " << ret << endl;
 
   return 0;
}
 
// 函数返回两个数中较大的那个数
int max(int num1, int num2) 
{
   // 局部变量声明
   int result;
 
   if (num1 > num2)
      result = num1;
   else
      result = num2;
 
   return result; 
}

A função max () e a função main () é colocado um pedaço, compilar o código fonte. Quando você executa o arquivo executável final irá produzir os seguintes resultados:

Max value is : 200

Argumentos da função

Se você quiser usar o parâmetro de função, você deve declarar uma variável para aceitar os valores dos parâmetros. Essas variáveis são conhecidos comoparâmetros formais da função.

Como outras formas de parâmetros variáveis ​​locais dentro da função é criada ao entrar na função, sair da função é destruído.

Quando a função é chamada, existem duas formas de passar parâmetros para uma função:

调用类型描述
传值调用 该方法把参数的实际值复制给函数的形式参数。在这种情况下,修改函数内的形式参数对实际参数没有影响。
指针调用 该方法把参数的地址复制给形式参数。在函数内,该地址用于访问调用中要用到的实际参数。这意味着,修改形式参数会影响实际参数。
引用调用 该方法把参数的引用复制给形式参数。在函数内,该引用用于访问调用中要用到的实际参数。这意味着,修改形式参数会影响实际参数。

Por padrão, C ++ usando achamada-a para passar parâmetros.Geralmente, isso significa que o código dentro da função não é possível alterar os parâmetros usados ​​para chamar a função. Exemplos mencionados antes, chamar a função max () quando usando o mesmo método.

O valor padrão do parâmetro

Quando você define uma função, você pode especificar um valor padrão para cada parâmetro na lista de parâmetros para trás. Quando a função é chamada, se o valor do parâmetro real for deixado em branco, em seguida, usar os valores padrão.

Isso é feito usando o operador de atribuição para atribuir a definição da função como um parâmetro. Quando a função é chamada, se o valor do parâmetro não for aprovada, será usado o valor padrão se um valor for especificado, o valor padrão é ignorado, usando o valor passado. Considere os seguintes exemplos:

#include <iostream>
using namespace std;
 
int sum(int a, int b=20)
{
  int result;

  result = a + b;
  
  return (result);
}

int main ()
{
   // 局部变量声明
   int a = 100;
   int b = 200;
   int result;
 
   // 调用函数来添加值
   result = sum(a, b);
   cout << "Total value is :" << result << endl;

   // 再次调用函数
   result = sum(a);
   cout << "Total value is :" << result << endl;
 
   return 0;
}

Quando o código acima é compilado e executado, ele produz os seguintes resultados:

Total value is :300
Total value is :120