Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
O Que São Funções? | Introdução a Funções
Introdução ao C++
course content

Conteúdo do Curso

Introdução ao C++

Introdução ao C++

1. Primeiros Passos
2. Variáveis e Tipos de Dados
3. Introdução Aos Operadores
4. Introdução a fluxo de programa
5. Introdução a Funções

bookO Que São Funções?

Funções são pequenas sub-rotinas que podem ser chamadas quando necessário. Cada função tem um nome pelo qual pode ser chamada.

Nota

O nome main já está reservado pela linguagem C++. Portanto, ao declarar uma função com esse nome, o compilador irá gerar um erro.

Para criar uma função, você precisa:

  • definir o tipo de dado que ela retornará;
  • atribuir um nome a ela;
  • fornecer um bloco de instruções (corpo) entre chaves {...} para definir sua funcionalidade.

For example, let's create a function that outputs the text "c<>definity":

Por exemplo, vamos criar uma função que gere o texto "c<>definity":

cpp

main

copy
123456789101112131415
#include <iostream> #include <string> std::string nameOfCourses() // type and name of function { // beginning of a body std::string nameOfCourse = "c<>definity"; return nameOfCourse; } // end of a body int main() { std::cout << "Name of course: " << nameOfCourses() << std::endl; }

Vamos criar uma função que simplifica o processo de conversão de temperaturas de Fahrenheit para Celsius. Esta é uma aplicação prática do dia a dia.

cpp

main

copy
12345678910111213
#include <iostream> int FahrenheitToCelsius(int degree) { int celsius = (degree - 32) / 1.8; return celsius; } int main() { int fahr = 80; std::cout << fahr << " F" << " = " << FahrenheitToCelsius(fahr) << " C" << std::endl; }

Nota

O argumento da função é representado pela variável degree, que contém os dados nos quais a função opera. Neste contexto, refere-se a temperaturas em graus Fahrenheit que precisam ser convertidas para graus Celsius. Vamos nos aprofundar em uma explicação mais detalhada sobre argumentos de função mais adiante.

O compilador processa nosso código do programa sequencialmente, de forma semelhante a como uma pessoa lê um livro, e se encontrar nomes de variáveis ou funções desconhecidos, ele produzirá um erro.

Para ilustrar, vamos tentar invocar uma função antes que ela tenha sido definida.

Este exemplo gera um erro. Isso é feito de propósito.

cpp

main

copy
12345678910111213
#include <iostream> int main() { int fahr = 80; std::cout << fahr << " F" << " = " << FahrenheitToCelsius(fahr) << " C " << std::endl; } int FahrenheitToCelsius(int degree) //creating function AFTER it calling { int celsius = (degree - 32) / 1.8; return celsius; }

Nestas situações, é essencial empregar protótipos de função.

O propósito do prototipagem é informar o compilador sobre nossa função antecipadamente. Criar um protótipo é semelhante à declaração de uma função padrão, mas com uma diferença sutil:

  • especificar o tipo da futura função;
  • dar-lhe um nome;
  • argumentos (se necessário);
  • colocar o caractere do final da expressão ;.

Vamos adicionar um protótipo de função ao nosso exemplo que estava gerando um erro:

Nota

A prototipagem é útil quando você está trabalhando com muitos recursos. Para evitar "lixo" no arquivo principal, protótipos e definições de funções são movidos para arquivos de terceiros e incluídos no arquivo principal com a diretiva #include.

cpp

main

copy
123456789101112131415
#include <iostream> int FahrenheitToCelsius(int degree); int main() { int fahr = 80; std::cout << fahr << " F" << " = " << FahrenheitToCelsius(fahr) << " C " << std::endl; } int FahrenheitToCelsius(int degree) { int celsius = (degree - 32) / 1.8; return celsius; }

Nota

A prototipagem é útil quando você está trabalhando com muitos recursos. Para evitar "lixo" no arquivo principal, protótipos e definições de funções são movidos para arquivos terceiros e incluídos no arquivo principal com a diretiva #include.

Qual o nome desta função?

Qual o nome desta função?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 1
some-alt