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