C++: Wartość zwracana przez funkcję
Wartość zwracana przez funkcję pozwala na przekazanie wyniku operacji wykonanej wewnątrz funkcji do zewnętrznych części kodu.
Jakie typy danych mogą być zwracane
Proste typy wbudowane
Najczęściej używane typy zwrotne to typy wbudowane jak int
dla liczb całkowitych, double
dla liczb zmiennoprzecinkowych, bool
dla wartości logicznych, czy char
dla pojedynczych znaków.
Struktury i klasy
Funkcja może zwracać złożony obiekt danych takie jak typy zdefiniowane przez struktury lub klasy.
Wskaźniki i referencje
Dla bardziej zaawansowanych zastosowań, funkcje mogą zwracać wskaźniki (int*
, Student*
) lub referencje (int&
, Student&
). Jest to szczególnie przydatne, gdy chcemy modyfikować dane przekazane do funkcji lub gdy musimy obsługiwać duże obiekty, gdzie przekazywanie kopii byłoby nieefektywne.
Typ void
Specjalnym przypadkiem jest void
, który oznacza brak wartości zwrotnej. Funkcje typu void
są używane, gdy chcemy, aby funkcja wykonała określone zadanie, ale nie potrzebujemy od niej żadnych danych wyjściowych.
Instrukcja return
Podstawowa forma instrukcji return
wygląda następująco: return wyrażenie;
, gdzie wyrażenie
jest wartością lub zmienną, którą funkcja ma zwrócić. Może to być prosta wartość, jak liczba, lub bardziej złożony obiekt.
Typ wyrażenia zwracanego przez instrukcję return
musi zgadzać się z deklarowanym typem zwrotnym funkcji. Jeśli funkcja deklaruje, że zwróci int
, to return
musi zwracać wartość typu int
.
Gdy wykonanie programu osiąga instrukcję return
, funkcja jest natychmiast kończona, a sterowanie programu powraca do miejsca wywołania funkcji z wartością określoną w return
.
W przypadku funkcji z typem zwrotnym void
, instrukcja return
może być użyta bez wartości, aby po prostu zakończyć funkcję przedwcześnie. Można też całkowicie pominąć return
w funkcjach void
.
Przykłady:
int suma(int a, int b) {
return a + b; // Zwraca sumę dwóch liczb
}
void pokazWiadomosc() {
std::cout << "Hello World!";
return; // Opcjonalne w funkcjach void
}
Pierwszy przykład znamy już doskonale. Program zwraca wartość całkowitoliczbową sumy obliconej na podstawie dwóch parametrów wejściowych, również typu int.
Specjalny typ, void, w drugiej z funkcji, zaznacza, że nie zwróci ona żadnej wartości. Funkcja wypisuje na ekran komunikat. W funkcjach, które nie zwracają wartości można natomiast korzystać z instrukcji return. Sprawia ona, że funkcja zostaje natychmiast zakończona.
Testy przypięte do lekcji | |
---|---|
Aby uzyskać dostęp do testów i ćwiczeń interaktywnych - Zaloguj się |