Da trilha de C++ Este conceito ainda não saiu como card do dia. ir para o card de hoje

C++ Funções Básico

Funções

Em C++, uma função é um bloco de código nomeado que executa uma tarefa específica. Ela pode receber dados de entrada (parâmetros) e devolver um resultado (valor de retorno). Funções ajudam a organizar o programa, evitar repetição e facilitar a manutenção.

Os parâmetros são as variáveis declaradas na função que recebem os valores passados na chamada. Eles podem ser passados por valor, referência ou ponteiro, dependendo da necessidade. C++ permite sobrecarga de funções: várias funções com o mesmo nome, mas listas de parâmetros diferentes. O compilador escolhe a versão correta com base nos argumentos fornecidos.

Valores padrão permitem que um parâmetro tenha um valor pré-definido caso o argumento correspondente seja omitido na chamada. Já a palavra-chave inline é uma sugestão ao compilador para substituir a chamada da função pelo seu corpo, evitando a sobrecarga de uma chamada de função. Isso é útil para funções pequenas e frequentes, mas o compilador pode ignorar a sugestão.

Neste card, você verá como declarar, definir e usar funções com parâmetros, sobrecarga, valores padrão e inline, tudo com exemplos práticos.

Pontos-chave

  • Funções encapsulam código reutilizável e podem receber parâmetros e retornar valores.
  • A sobrecarga permite múltiplas funções com o mesmo nome, diferenciadas pela lista de parâmetros.
  • Parâmetros com valores padrão tornam argumentos opcionais na chamada.
  • inline sugere ao compilador expandir a função no local da chamada, reduzindo overhead.
  • O compilador escolhe a sobrecarga correta com base nos tipos e quantidade de argumentos.
funcoes.cpp
#include <iostream>

// Função simples com parâmetros por valor
int soma(int a, int b) {
    return a + b;
}

// Sobrecarga: mesma função para double
double soma(double a, double b) {
    return a + b;
}

// Parâmetro com valor padrão
int potencia(int base, int expoente = 2) {
    int resultado = 1;
    for (int i = 0; i < expoente; ++i) {
        resultado *= base;
    }
    return resultado;
}

// Função inline para cálculo rápido
inline int dobro(int x) {
    return x * 2;
}

int main() {
    std::cout << "Soma int: " << soma(3, 4) << '\n';
    std::cout << "Soma double: " << soma(2.5, 3.1) << '\n';
    std::cout << "Potencia padrao: " << potencia(5) << '\n';
    std::cout << "Potencia expoente 3: " << potencia(2, 3) << '\n';
    std::cout << "Dobro: " << dobro(7) << '\n';
    return 0;
}

Exercícios

  1. 1
    Fácil

    Função de saudação com valor padrão

    Crie uma função saudacao que recebe um nome e uma saudação padrão "Olá". A função deve imprimir "<saudação>, <nome>!". No main, chame a função uma vez com apenas o nome e outra vez passando também "Bem-vindo".

    Resolver
  2. 2
    Médio

    Sobrecarga de função para área

    Crie três funções sobrecarregadas chamadas area: uma que calcula a área de um quadrado (um lado), uma que calcula a área de um retângulo (dois lados) e uma que calcula a área de um círculo (raio). Use double para os parâmetros e retorno. No main, chame as três e imprima os resultados.

    Resolver
  3. 3
    Desafio

    Função inline e sobrecarga com valores padrão

    Crie uma função inline chamada multiplicar que aceita dois parâmetros int e retorna o produto. Crie também uma versão sobrecarregada que aceita três parâmetros int, sendo o terceiro com valor padrão 1. No main, chame multiplicar(3, 4), multiplicar(2, 5, 3) e multiplicar(7, 8). Imprima os resultados.

    Resolver

Continue estudando