Mandar um cafézinho para o programador:


Me ajude a transformar café em código!

Função em C++ - O que é, Como funciona e Como criar e usar ?

Neste tutorial, daremos início ao estudo das Funções em C++, onde iremos aprender:
  • O que é uma função?
  • Para que serve uma função?
  • Como criar uma?
  • Como usar uma função?

Função em C++: O que é e Para que serve

Você já viu uma placa de algum hardware, como a placa do seu computador, ou as peças internas de uma televisão, celular...é mais ou menos assim:

O que é uma função

Veja: não existe somente uma peça responsável por fazer tudo.
Um placa é uma porção de pecinha fazendo pequenos trabalhos, bem específicos.

Como fazem coisas bem específicas, como contar ou medir a temperatura, por exemplo, podemos usar essas pecinhas em outras placas, como a de um carro ou de uma geladeira.

Ou seja, cada pecinha dessas tem uma função, específica, faz algo.
Em programação C++, é a mesma coisa: função é um treco que faz uma coisa específica.

Explicando melhor, função é um bloco de código, com alguns comandos de C++ dentro, que faz determinada tarefa. Uma função pode receber e retornar informações para quem chamou a função.

É muito melhor, mais eficiente, mais rápido e mais viável de criar uma placa com diversas pecinha, fazendo coisa específicas, do que uma peçona fazendo algo sozinha.

Da mesma maneira, não é nada viável ter um único bloco de código gigante, de milhares de linhas, pois seria extremamente difícil de trabalhar com ele, saber onde está havendo erros, onde está cada coisa...o ideal é ir quebrando seu programa em programinhas menores, que fazem coisas mais específicas e fáceis de serem entendidas.

É como se cada função fosse uma pecinha de lego. Você vai juntando as peças e vai montando coisas grandes e bacanas. Seu sistema operacional, por exemplo, funciona assim.

Vamos aprender como criar uma função?

Como criar uma função em C++

A sintaxe do código para criar uma função é a seguinte:
tipo nome(lista_parametros)
{
    // código da
    // função

    return algo;
}
As funções podem ou não retornar alguma informação, como um inteiro ou um float.
Por exemplo:
int function1() {...} - retorna um inteiro
float function2() {...} - retorna um float
void function3() { ... } - não retorna nada

Dentro dos parêntesis, ela podem receber informações para trabalhar com esses dadis, são os parâmetros:
void function1(int num) {...} - Envia um inteiro para a função e não retorna nada
int function2(int num1, float num2) {...} - Envia dois números como parâmetro, um inteiro e um float, e retorna um inteiro.

Se a função retorna algum tipo de dado, usamos o return dentro do bloco de código, para retornar o tipo de dado que declaramos no cabeçalho da função.

Vamos criar a função hello(), ela não retorna nenhum dado e não recebe nenhuma informação, apenas imprime o hello, world! na tela:
void hello()
{
    cout <<"Hello, world!\n";
}

Como chamar e usar uma função

Para chamar a função basta escrever o nome dela, seguido de parêntesis e com as informações que ela deve receber.

Para chamarmos a função criada anteriormente, fazemos simplesmente:
hello();

Prontinho. O C++ vai lá buscar essa função e executar o código que tem nela, veja:
Função Olá, mundo em C++
Você pode invocar (chamar) a função 1, 10 ou um milhão de vezes, basta fazer: hello();, sem precisar repetir 1 milhão de vezes o código, basta reutilizar, usando funções.

Exemplo de uso de funções em C++

Vamos criar duas funções agora.
A menu() exibe um menu de opções, sobre que período do dia você está.

Já na boas_vindas(), o usuário vai ter que digitar alguma opção, que será armazenado na variável op, declarada dentro da função.
Depois, ainda dentro desta função fazemos um tratamento para exibir a mensagem corretamente:
#include <iostream>
using namespace std;

void menu()
{
    cout<<"Que período do dia está:\n";
    cout<<"1. Manhã\n";
    cout<<"2. Tarde\n";
    cout<<"3. Noite\n";
}

void boas_vindas()
{
    int op;
    cin>>op;

    if(op==1)
        cout<<"Bom dia!\n";
    else if(op==2)
        cout<<"Boa tarde!\n";
    else if(op==3)
        cout<<"Boa noite!\n";
    else
        cout<<"Entrada inválida\n";
}

int main()
{
    menu();
    boas_vindas();
    cout<<"Encerrando...\n";

    return 0;
}
Note que tem três funções no código:
  1. menu()
  2. boas_vindas()
  3. main()
A main() é uma função especial do C++, ela é automaticamente executada quando compilamos e executamos nossos códigos. Dentro dela, chamamos primeiro a menu() e somente quando essa terminar de executar, chama a boas_vindas().

Note que somente após o usuário inserir o valor na boas_vindas() e ela te cumprimentar, é que ela vai terminar e vai voltar pra main(), que exibe um cout final de encerramento.

Quando usar uma função

Sempre. O máximo que puder.

Até o momento, em nosso curso, fizemos exemplos pequenos e simples de código.
Mas o normal, quando você se tornar um programador profissional, é fazer sistemas com centenas ou milhares de linhas de código, e é aí que você vai entender o quão importante é o conceito de funções, em C++.

Você deve adquirir o hábito de criar funções pequenas, simples e de fácil entendimento e execução, pois sempre que iniciar um novo projeto, vai usar suas funções antigas e funções já existentes por padrão, do C++.

Essa técnica é chamada de dividir para conquistar, e no decorrer do nosso curso de C++ você vai ver que um programa grande e complexo nada mais é que um monte de programas pequenos e simples, conectados de maneira correta, funcionando em harmonia.

7 comentários:

Ajude o C++ Progressivo

Que tal apoiar e fazer crescer o ensino da programação no Brasil ?

Ajudar nosso país a crescer e se desenvolver cada vez mais, tecnologicamente?

Clica abaixo pra saber mais!

Apoiar o Projeto Progressivo