Funkcja – to wydzielona część kodu źródłowego, która wykonuje się po wywołaniu identyfikatora funkcji, czyli jej nazwy wraz z nawiasami okrągłymi i ewentualnymi parametrami. W skład identyfikatora (podobnie jak w zmiennych) dopuszczalne są znaki alfanumeryczne z zakresu alfabetu łacińskiego.
Funkcje
Schematyczna definicja funkcji ma postać
typ_funkcji identyfikator(opcjonalne parametry) {
instrukcje do wykonania
}
Gdzie typ_funkcji – wstawiamy typ podobnie jak w zmiennych (void, bądź int) w zależności od przeznaczenia funkcji.
identyfikator(opcjonalne parametry) – unikalna nazwa funkcji. Nawias jest niezbędny, nawet, gdy nie deklarujemy parametrów w postaci zmiennych.
Spróbujmy zadeklarować funkcje dodającą dwie liczby.
[codesyntax lang=”cpp”]
#include <iostream> using namespace std; //deklaracja void dodawanie(int a, int b) { cout<<a+b<<endl; } int main() { //wywołanie funkcji - wykorzystanie jej dodawanie(50, 36); return 0; }
[/codesyntax]
komeniusz@cyber-jadro:~/Pulpit$ g++ pierwszy.cpp -o program
komeniusz@cyber-jadro:~/Pulpit$ ./program
86
komeniusz@cyber-jadro:~/Pulpit$
Jak widać działa znakomicie. Zmodyfikujmy jednak kod do tego stopnia, aby program pobierał liczby od użytkownika.
[codesyntax lang=”cpp”]
#include <iostream> using namespace std; int dodawanie() { /*deklaracja zmiennych lokalnych dla funkcji dodawanie()*/ int a; int b; cout<<"Podaj a: "; cin>>a; cout<<"Podaj b: "; cin>>b; cout<<"Wynik to: "<<a+b<<endl; } int main() { dodawanie(); return 0; }
[/codesyntax]
komeniusz@cyber-jadro:~/Pulpit$ g++ pierwszy.cpp -o program
komeniusz@cyber-jadro:~/Pulpit$ ./program
Podaj a: 6
Podaj b: 7
Wynik to: 13
komeniusz@cyber-jadro:~/Pulpit$
Wnikliwy Czytelnik może już napisać prosty kalkulator z menu wyboru opierającym się na instrukcji warunkowej 🙂
Poza funkcjami, które możemy sami zdefiniować w C++ jest masa funkcji standardowych. Niektóre z nich warto poznać już teraz.
zmienna.size(), bądź zmienna.length() – zwraca długość zmiennej typu string.
sleep() – zatrzymuje działanie programu na podaną w nawiasie liczbę sekund.
getchar() – zatrzymuje działanie programu do momentu wciśnięcia spacji.
[codesyntax lang=”cpp”]
#include <iostream> #include <cstdlib> using namespace std; int main() { int losowa; srand(time(NULL)); losowa = (rand() % 20)+1; cout<<losowa<<endl; return 0; }
[/codesyntax]
A oto przykład generowania losowej liczby z przedziału od 1 do 20 (włącznie). Aby posługiwać się funkcją srand() oraz rand() wymagane jest użycie dodatkowej bilbioteki o nazwie cstdlib.