Függvények

Függvények deklarálása, definíciója, paraméterezés, lokális/globális változók és konstansok, visszatérési értékek, függvények túlterhelése a C++ programnyelvben.

Mi a függvény?

A függvény egy különálló kódrészlet, mely egy adott feladat végrehajtására van specializálva. Mikor egy függvényt használunk - úgy mondjuk: meghívjuk -, átadhatunk neki bizonyos paramétereket, amivel dolgozik. Például van egy primitív szoroz függvény, ami két egész értéket, legyen a és b, összeszoroz és kiír.

void szoroz(int a, int b){ std::cout << a*b; ​}

A paramétereket (ha vannak) zárójelben kell megadni a függvény meghívásakor eképpen:

szoroz(2,4);

A függvénymeghívás is egy utasítás a C++-ban, ezért pontosvesszővel zárjuk.

Függvény deklarálása

Egy függvényt deklarálni annyit tesz, hogy megadjuk a fejlécét. Ezt a main() függvény meghívása előtt célszerű elvégezni. Azért van rá szükség, mert máskülönben az egyes általunk készített függvényeket meghívásuk felett kellene definiálni. A függvénydeklaráció megadja a fordítónak, hogy valahol, lejjebb a kódban létezik az adott nevű függvény, mely adott típusú paramétereket vár.

A függvénydeklaráció szintaxisa:

visszatérésiÉrték függvényNév (paraméter1típus [paraméter1név], paraméterNtípus [paraméterNnév]);

(A szögletes zárójelek (ha más logikus szerepük nincs) egyezményesen arra utalnak, hogy 'megadása opcionális', mint ahogy jelen esetben is)

Példa:

int fuggveny(int pontszam);

Azt mondja a fordítónak, hogy lesz a kódban egy fuggveny nevű függvény, ami egész paramétert vár, és egész szám lesz a visszatérési értéke. Az, hogy a paraméternek nevet adunk-e a deklarációnál, mint említettem, opcionális. A saját javunkra válhat, átláthatóbb lesz tőle a kód (sok paraméter esetén). Noha pontszámnak neveztük el a paramétert, a definícióban (később láthatjuk), nem feltétlen kell a változóneveknek megegyezni. A definícióban szerepeltetett név a mérvadó.

Függvénydefiníció

A függvény megadása. Amennyiben deklaráltuk, bárhol lehet a kódban, akár más fájlban is, ha hivatkozunk rá. A fejléc a függvénydeklaráció szintaxisa alcím alatti felépítésű, csupán annyiban tér el, hogy a végére nem kell pontosvesszőt tenni. Függvény törzsén magát a függvénykódot értjük, melyet kapcsos zárójelek közé írunk a fejléc után. Így néz ki:

függvény fejléce { függvény törzse }

Visszatérési értékek

Amennyiben valamilyen visszatérési értéke van a függvénynek, kifejezésként működik. Szerepelhet egy értékadó operátor jobb oldalán, vagy bármilyen helyen, ahol egy kifejezést használnánk. A visszatérési értéket a return kulcsszó után, a függvény törzsének a végén adjuk meg.

Amennyiben egy függvénynek nincs visszatérési értéke, a fejlécben a void kulcsszót kell használnunk (lásd: 1. példa). Az ilyen függvényeket eljárásnak (ritkábban procedúrának) nevezzük. Ilyen esetekben nem kell használni a return kulcsszót, hiszen nincs mit visszaadni. A return szó után írjuk a visszaadandó kifejezést, és pontosvesszővel zárjuk, mint minden utasítást.

Az f(x) függvény visszatérési értéke mindig 3. ( return 3; )
a=f(2); //a függvény kifejezésként működik
//a értéke 3 lett

Függvények túlterhelése (overloading)

Több azonos nevű függvényünk lehet, ha legalább paramétereik típusában vagy számában eltérnek.

int a(int,int);​int a(int,char);

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöljük.