Függvények
Függvény definíciójában fel kell sorolni a nevét és a paraméterei számát. A függvény túlterhetőek
paraméterszám alapján.
Példák:
test0(); // paraméter nélküli függvény
test1(const a1); // 1 konstans argumentum
test3(a1); // ez a függvény csak az deklarációját tartalmazó fájlban használható
extern test4(a1); // a függvény a fájlon kívül definiált
print(a1, ...); // változó számú argumentum
test1(a1); // hiba: ütközés korábbi definícióval
A következő formában lehet hasznáni dll-eket (például C-ben írt függvényeket)
extern "mydll,MyCFunc" test5(a1);
A függvény argumentumok érték szerint adódnak át. Ez azt jelenti, hogy másolat készül az aktuális
paraméterről. Int, double, string és mátrix típusok esetében a teljes objektum másolódik, míg a
származtatott típusok referencián keresztül érhetők el, és csak a referencia adódik át érték szerint.
Ez azt jelenti, hogy ha változtatunk a referencián, változik az aktuális paraméter értéke is a függvények
visszatérése után. Ha
const-tal jelölünk meg egy argumentumot, akkor azt nem módosíthatja a függvény
(ezáltal biztonságosabbá tehető a program, mert fordítási időben lehet ellenőrzést végrehajtani).
Minden függvénynek van visszatérési értéke, de azt nem muszáj felhasználnia a hívónak. Ha egy függvény
nem ad visszatérési értéket, akkor az aktuális visszatérési érték meghatározatlan.
A
return kulcsszóval lehet visszatérni a hívó blokkba. Használata:
return visszatérési_érték;
vagy csak
return; .
A
va_arglist() beépített függvénnyel lehet kezelni változó számú paramétereket.