6. Funkcje

Funkcje w C++ to podstawowe bloki kodu, które wykonują określone zadania. Umożliwiają podział programu na mniejsze części. Dzięki temu możemy ponownie wykonywać ten sam kod bez potrzeby ponownej implementacji tych samych linii kodu. 

Funkcja jest to ciąg instrukcji zapisany pod jakąś nazwą i wywoływany za pomocą tej nazwy w programie.
Każda definicja funkcji w języku C++ składa się z dwóch części:
nagłówka
ciała funkcji, czyli jej treści.
 Typowy format funkcji w C++ wygląda następująco:
typ_zwracany nazwa_funkcji(typ_parametr param1, typ_parametr param2, ...) {
    // ciało funkcji - instrukcje do wykonania
    return zwracana_wartosc; // jeśli funkcja ma typ inny niż void
}
gdzie:
  • typ_zwracany  - Typ wartości zwracanej przez funkcję. Może to być typ prosty, taki jak int, float, double, char, lub złożony, np. obiekt klasy. Jeśli funkcja nic nie zwraca, używamy void.
  • nazwa_funkcji - Nazwa funkcji. Powinna być jednoznaczna i opisywać działanie funkcji.
  • typ_parametr i param1, param2, ... - Lista argumentów przekazywanych do funkcji. Każdy argument musi mieć określony typ i nazwę. Funkcja może mieć dowolną liczbę parametrów (w tym zero).
  • return - Instrukcja return służy do zwracania wartości przez funkcję. Jest wymagana, jeśli funkcja zwraca coś innego niż void.
Możemy wyróżnić różne typy funkcji, które różnią się obecnością lub nie wymienionych wyżej elementów:
  • Funkcje zwracające wartość.
  • Funkcje void (niezwracające wartości).
  • Funkcje z parametrami.
  • Funkcje przeciążone (ang. overloading).
  • Funkcje rekurencyjne.
  • Funkcje inline (funkcje wbudowane).
  • Funkcje z referencjami jako parametry.