Neste tutorial, aprenderemos sobre a função C ++ e as expressões de função com a ajuda de exemplos.
Uma função é um bloco de código que executa uma tarefa específica.
Suponha que precisamos criar um programa para criar um círculo e colori-lo. Podemos criar duas funções para resolver este problema:
- uma função para desenhar o círculo
- uma função para colorir o círculo
Dividir um problema complexo em partes menores torna nosso programa fácil de entender e reutilizável.
Existem dois tipos de função:
- Funções de biblioteca padrão: predefinidas em C ++
- Função definida pelo usuário : criada por usuários
Neste tutorial, vamos nos concentrar principalmente nas funções definidas pelo usuário.
Função C ++ definida pelo usuário
C ++ permite que o programador defina sua própria função.
Um código de grupos de funções definidos pelo usuário para realizar uma tarefa específica e esse grupo de códigos recebe um nome (identificador).
Quando a função é chamada de qualquer parte do programa, ela executa os códigos definidos no corpo da função.
Declaração de função C ++
A sintaxe para declarar uma função é:
returnType functionName (parameter1, parameter2,… ) ( // function body )
Aqui está um exemplo de declaração de função.
// function declaration void greet() ( cout << "Hello World"; )
Aqui,
- o nome da função é
greet()
- o tipo de retorno da função é
void
- os parênteses vazios significam que não possui parâmetros
- o corpo da função é escrito dentro
()
Observação: aprenderemos sobre returnType
e parameters
mais tarde neste tutorial.
Chamando uma função
No programa acima, declaramos uma função chamada greet()
. Para usar a greet()
função, precisamos chamá-la.
Veja como podemos chamar a greet()
função acima .
int main() ( // calling a function greet(); )

Exemplo 1: exibir um texto
#include using namespace std; // declaring a function void greet() ( cout << "Hello there!"; ) int main() ( // calling the function greet(); return 0; )
Resultado
Olá!
Parâmetros de Função
Conforme mencionado acima, uma função pode ser declarada com parâmetros (argumentos). Um parâmetro é um valor que é passado ao declarar uma função.
Por exemplo, vamos considerar a função abaixo:
void printNum(int num) ( cout << num; )
Aqui, a int
variável num é o parâmetro da função.
Passamos um valor para o parâmetro da função ao chamar a função.
int main() ( int n = 7; // calling the function // n is passed to the function as argument printNum(n); return 0; )
Exemplo 2: função com parâmetros
// program to print a text #include using namespace std; // display a number void displayNum(int n1, float n2) ( cout << "The int number is " << n1; cout << "The double number is " << n2; ) int main() ( int num1 = 5; double num2 = 5.5; // calling the function displayNum(num1, num2); return 0; )
Resultado
O número interno é 5 O número duplo é 5,5
No programa acima, usamos uma função que tem um int
parâmetro e um double
parâmetro.
Em seguida, passamos num1 e num2 como argumentos. Esses valores são armazenados pelos parâmetros de função n1 e n2, respectivamente.

Observação: o tipo dos argumentos transmitidos ao chamar a função deve corresponder aos parâmetros correspondentes definidos na declaração da função.
Declaração de Devolução
Nos programas acima, usamos void na declaração da função. Por exemplo,
void displayNumber() ( // code )
Isso significa que a função não está retornando nenhum valor.
Também é possível retornar um valor de uma função. Para isso, precisamos especificar o returnType
da função durante a declaração da função.
Então, a return
instrução pode ser usada para retornar um valor de uma função.
Por exemplo,
int add (int a, int b) ( return (a + b); )
Aqui, temos o tipo de dados em int
vez de void
. Isso significa que a função retorna um int
valor.
O código return (a + b);
retorna a soma dos dois parâmetros como o valor da função.
A return
declaração indica que a função foi encerrada. Qualquer código return
dentro da função não é executado.
Exemplo 3: adicionar dois números
// program to add two numbers using a function #include using namespace std; // declaring a function int add(int a, int b) ( return (a + b); ) int main() ( int sum; // calling the function and storing // the returned value in sum sum = add(100, 78); cout << "100 + 78 = " << sum << endl; return 0; )
Resultado
100 + 78 = 178
No programa acima, a add()
função é usada para encontrar a soma de dois números.
Passamos dois int
literais 100
e 78
enquanto chamamos a função.
Armazenamos o valor retornado da função na variável sum e então o imprimimos.

Observe que sum é uma variável do int
tipo. Isso ocorre porque o valor de retorno de add()
é do int
tipo.
Protótipo de Função
In C++, the code of function declaration should be before the function call. However, if we want to define a function after the function call, we need to use the function prototype. For example,
// function prototype void add(int, int); int main() ( // calling the function before declaration. add(5, 3); return 0; ) // function definition void add(int a, int b) ( cout << (a + b); )
In the above code, the function prototype is:
void add(int, int);
This provides the compiler with information about the function name and its parameters. That's why we can use the code to call a function before the function has been defined.
The syntax of a function prototype is:
returnType functionName(dataType1, dataType2,… );
Example 4: C++ Function Prototype
// using function definition after main() function // function prototype is declared before main() #include using namespace std; // function prototype int add(int, int); int main() ( int sum; // calling the function and storing // the returned value in sum sum = add(100, 78); cout << "100 + 78 = " << sum << endl; return 0; ) // function definition int add(int a, int b) ( return (a + b); )
Output
100 + 78 = 178
The above program is nearly identical to Example 3. The only difference is that here, the function is defined after the function call.
That's why we have used a function prototype in this example.
Benefits of Using User-Defined Functions
- Functions make the code reusable. We can declare them once and use them multiple times.
- Functions make the program easier as each small task is divided into a function.
- Functions increase readability.
C++ Library Functions
Library functions are the built-in functions in C++ programming.
Programmers can use library functions by invoking the functions directly; they don't need to write the functions themselves.
Some common library functions in C++ are sqrt()
, abs()
, isdigit()
, etc.
In order to use library functions, we usually need to include the header file in which these library functions are defined.
For instance, in order to use mathematical functions such as sqrt()
and abs()
, we need to include the header file cmath
.
Example 5: C++ Program to Find the Square Root of a Number
#include #include using namespace std; int main() ( double number, squareRoot; number = 25.0; // sqrt() is a library function to calculate the square root squareRoot = sqrt(number); cout << "Square root of " << number << " = " << squareRoot; return 0; )
Output
Raiz quadrada de 25 = 5
Neste programa, a sqrt()
função de biblioteca é usada para calcular a raiz quadrada de um número.
A declaração da função de sqrt()
é definida no cmath
arquivo de cabeçalho. É por isso que precisamos usar o código #include
para usar a sqrt()
função.
Para saber mais, visite as funções da biblioteca padrão C ++.