Wskaż zdanie, które nie jest prawdziwe dla przedstawionej definicji funkcji w języku C++.
double pole(double r) { return 3.14 * r * r; }
Fałszywe jest zdanie o przekazywaniu przez referencję. Parametr zapisano jako double r, bez znaku &, więc funkcja dostaje kopię wartości przekazanej przy wywołaniu. Przez referencję parametr zostałby przekazany w zapisie double &r - wtedy funkcja pracowałaby na oryginalnej zmiennej i mogłaby ją zmienić. Pozostałe cechy wynikają wprost z kodu: typ double przed nazwą to typ wyniku, w nawiasie jest jeden parametr, a wyrażenie 3.14 * r * r to wzór na pole koła. Wywołanie pole(2) zwróci 12,56. Do zapamiętania: & przy typie parametru oznacza referencję, a jego brak - przekazanie przez wartość. Zamiast 3.14 dokładniej jest użyć stałej M_PI.
W pytaniu o zdanie nieprawdziwe każde twierdzenie trzeba zestawić z kodem. Typ double przed nazwą pole mówi, że wynik jest liczbą zmiennoprzecinkową - zdanie prawdziwe. Nawias zawiera tylko double r, czyli funkcja ma jeden argument - też prawda. Instrukcja return 3.14 * r * r; mnoży przybliżenie liczby pi przez kwadrat promienia, więc funkcja liczy pole koła - i to się zgadza. Nie zgadza się jedynie stwierdzenie o referencji. Referencję poznaje się po znaku & między typem a nazwą parametru, jak w funkcji zamieniającej wartości dwóch zmiennych. Tutaj go nie ma, więc r jest kopią i zmiana jej wewnątrz funkcji nie wpłynęłaby na zmienną użytą przy wywołaniu. Ta różnica ma znaczenie w praktyce, bo funkcja przyjmująca argument przez wartość nie zmieni zmiennej podanej przy wywołaniu.