Funções C++
Funções C++
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: Predefinido em C++
- Função definida pelo usuário: Criado por usuários
Neste tutorial, focaremos principalmente em funções definidas pelo usuário.
Função definida pelo usuário C++
C++ permite que o programador defina sua própria função.
Uma função definida pelo usuário agrupa o código para executar uma tarefa específica e esse grupo de código recebe um nome (identificador).
Quando a função é invocada de qualquer parte do programa, ela executa todos 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 uma 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 há parâmetros
- o corpo da função é escrito dentro de
{}
Observação: Aprenderemos sobre
returnType
e parameters
posteriormente neste tutorial. Chamando uma função
No programa acima, declaramos uma função chamada
greet()
. Para usar o greet()
função, precisamos chamá-la. Veja como podemos chamar o
greet()
acima função.
int main() {
// calling a function
greet();
}
Exemplo 1:exibir um texto
#include <iostream>
using namespace std;
// declaring a function
void greet() {
cout << "Hello there!";
}
int main() {
// calling the function
greet();
return 0;
}
Saída
Hello there!
Parâmetros de função
Como 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, o
int
variável num é o parâmetro da função. Passamos um valor para o parâmetro da função enquanto chamamos 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 <iostream>
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;
}
Saída
The int number is 5 The double number is 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 da função n1 e n2 respectivamente.
Observação: O tipo dos argumentos passados 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. Em seguida, o
return
A 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
int
em 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. O
return
declaração denota que a função terminou. Qualquer código após return
dentro da função não é executado. Exemplo 3:adicionar dois números
// program to add two numbers using a function
#include <iostream>
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;
}
Saída
100 + 78 = 178
No programa acima, o
add()
função é usada para encontrar a soma de dois números. Passamos dois
int
literais 100
e 78
ao chamar a função. Armazenamos o valor retornado da função na variável sum , e depois imprimimos.
Observe que soma é uma variável de
int
modelo. Isso ocorre porque o valor de retorno de add()
é de int
modelo. Protótipo de função
Em C++, o código de declaração da função deve estar antes da chamada da função. No entanto, se quisermos definir uma função após a chamada da função, precisamos usar o protótipo da função. Por exemplo,
// 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);
}
No código acima, o protótipo da função é:
void add(int, int);
Isso fornece ao compilador informações sobre o nome da função e seus parâmetros. É por isso que podemos usar o código para chamar uma função antes que a função tenha sido definida.
A sintaxe de um protótipo de função é:
returnType functionName(dataType1, dataType2, ...);
Exemplo 4:protótipo de função C++
// using function definition after main() function
// function prototype is declared before main()
#include <iostream>
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);
}
Saída
100 + 78 = 178
O programa acima é quase idêntico ao Exemplo 3 . A única diferença é que aqui, a função é definida depois a chamada da função.
É por isso que usamos um protótipo de função neste exemplo.
Benefícios de usar funções definidas pelo usuário
- As funções tornam o código reutilizável. Podemos declará-los uma vez e usá-los várias vezes.
- As funções tornam o programa mais fácil, pois cada pequena tarefa é dividida em uma função.
- As funções aumentam a legibilidade.
Funções da biblioteca C++
As funções de biblioteca são as funções internas na programação C++.
Os programadores podem usar funções de biblioteca invocando as funções diretamente; eles não precisam escrever as funções em si.
Algumas funções de biblioteca comuns em C++ são
sqrt()
, abs()
, isdigit()
, etc Para usar funções de biblioteca, geralmente precisamos incluir o arquivo de cabeçalho no qual essas funções de biblioteca são definidas.
Por exemplo, para usar funções matemáticas como
sqrt()
e abs()
, precisamos incluir o arquivo de cabeçalho cmath
. Exemplo 5:Programa C++ para encontrar a raiz quadrada de um número
#include <iostream>
#include <cmath>
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;
}
Saída
Square root of 25 = 5
Neste programa, o
sqrt()
função de biblioteca é usada para calcular a raiz quadrada de um número. A declaração de função de
sqrt()
é definido no cmath
arquivo de cabeçalho. É por isso que precisamos usar o código #include <cmath>
para usar o sqrt()
função. Para saber mais, visite Funções da biblioteca padrão C++.
Linguagem C
- Operadores C++
- Comentários C++
- Passando array para uma função na programação C++
- Função de amigo C++ e classes de amigo
- 10 funções populares no Stratasys Insight
- Sobrecarga do operador C++ com exemplos
- Funções do Python Lambda com EXEMPLOS
- Funções Verilog
- C - Funções
- Sobrecarga de C++ (operador e função)