Ebben az oktatóanyagban példák segítségével megismerhetjük a C ++ függvényt és a funkciókifejezéseket.
A függvény egy kódblokk, amely egy adott feladatot hajt végre.
Tegyük fel, hogy létre kell hoznunk egy programot egy kör létrehozásához és színezéséhez. Két funkciót hozhatunk létre a probléma megoldására:
- függvény a kör megrajzolásához
- a kör színezésére szolgáló funkció
Ha egy összetett problémát kisebb darabokra osztunk, a programunk könnyen érthetővé és újrafelhasználhatóvá válik.
Kétféle funkció létezik:
- Standard könyvtárfunkciók: Előre definiált C ++ nyelven
- Felhasználó által definiált funkció: Felhasználók által létrehozott
Ebben az oktatóanyagban leginkább a felhasználó által definiált funkciókra fogunk összpontosítani.
C ++ Felhasználó által definiált függvény
A C ++ lehetővé teszi a programozó számára, hogy meghatározza saját funkcióját.
A felhasználó által definiált függvény kódot csoportosít egy adott feladat végrehajtásához, és az adott kódcsoport nevet (azonosítót) kap.
Amikor a függvényt a program bármely részéről meghívják, mindez végrehajtja a függvény törzsében meghatározott kódokat.
C ++ funkciónyilatkozat
A függvény deklarálásának szintaxisa:
returnType functionName (parameter1, parameter2,… ) ( // function body )
Itt van egy példa a függvény deklarációjára.
// function declaration void greet() ( cout << "Hello World"; )
Itt,
- a függvény neve
greet()
- a függvény visszatérési típusa
void
- az üres zárójel azt jelenti, hogy nincs paramétere
- a függvénytest be van írva
()
Megjegyzés: Mi lesz megismerni returnType
és parameters
később ez a bemutató.
Funkció hívása
A fenti programban deklaráltunk egy nevű függvényt greet()
. A greet()
függvény használatához meg kell hívnunk.
Így hívhatjuk a fenti greet()
függvényt.
int main() ( // calling a function greet(); )

1. példa: Szöveg megjelenítése
#include using namespace std; // declaring a function void greet() ( cout << "Hello there!"; ) int main() ( // calling the function greet(); return 0; )
Kimenet
Szia!
Funkcióparaméterek
Mint fent említettük, egy függvény paraméterekkel (argumentumokkal) deklarálható. A paraméter egy olyan érték, amelyet egy függvény deklarálásakor adunk át.
Vegyük például figyelembe az alábbi függvényt:
void printNum(int num) ( cout << num; )
Itt a int
num változó a függvény paraméter.
Értéket adunk át a function paraméternek, miközben meghívjuk a függvényt.
int main() ( int n = 7; // calling the function // n is passed to the function as argument printNum(n); return 0; )
2. példa: Funkció a paraméterekkel
// program to print a text #include using namespace std; // display a number void displayNum(int n1, float n2) ( cout << "The int number is " << n1; cout << "The double number is " << n2; ) int main() ( int num1 = 5; double num2 = 5.5; // calling the function displayNum(num1, num2); return 0; )
Kimenet
Az int szám 5 A kettős szám 5.5
A fenti programban egy olyan függvényt használtunk, amelynek egy int
és egy double
paramétere van.
Ezután argumentumként adjuk át a num1 és a num2 elemeket. Ezeket az értékeket az n1, illetve az n2 függvényparaméterek tárolják.

Megjegyzés: A függvény meghívásakor átadott argumentumok típusának meg kell egyeznie a függvény deklarációjában meghatározott megfelelő paraméterekkel.
Visszatérési nyilatkozat
A fenti programokban az void-ot használtuk a függvénydeklarációban. Például,
void displayNumber() ( // code )
Ez azt jelenti, hogy a függvény nem ad vissza értéket.
Lehetséges egy függvény értékét is visszaadni. Ehhez meg kell adnunk a returnType
függvény deklarációja során a függvényt.
Ezután az return
utasítás felhasználható egy függvény értékének visszaadására.
Például,
int add (int a, int b) ( return (a + b); )
Itt van az adattípus int
helyett void
. Ez azt jelenti, hogy a függvény int
értéket ad vissza .
A kód return (a + b);
a két paraméter összegét adja vissza függvényértékként.
Az return
utasítás azt jelzi, hogy a függvény lejárt. A return
függvényen belüli kódok nem kerülnek végrehajtásra.
3. példa: Két szám hozzáadása
// program to add two numbers using a function #include using namespace std; // declaring a function int add(int a, int b) ( return (a + b); ) int main() ( int sum; // calling the function and storing // the returned value in sum sum = add(100, 78); cout << "100 + 78 = " << sum << endl; return 0; )
Kimenet
100 + 78 = 178
A fenti programban a add()
függvény két szám összegének megkeresésére szolgál.
int
Elhaladunk két literálon 100
és 78
a függvény hívása közben.
A függvény visszaadott értékét az összeg változóban tároljuk, majd kinyomtatjuk.

Vegye figyelembe, hogy az összeg egy int
típusú változó . Ez azért van, mert a visszatérési értéke add()
van a int
típus.
Funkció prototípus
In C++, the code of function declaration should be before the function call. However, if we want to define a function after the function call, we need to use the function prototype. For example,
// function prototype void add(int, int); int main() ( // calling the function before declaration. add(5, 3); return 0; ) // function definition void add(int a, int b) ( cout << (a + b); )
In the above code, the function prototype is:
void add(int, int);
This provides the compiler with information about the function name and its parameters. That's why we can use the code to call a function before the function has been defined.
The syntax of a function prototype is:
returnType functionName(dataType1, dataType2,… );
Example 4: C++ Function Prototype
// using function definition after main() function // function prototype is declared before main() #include using namespace std; // function prototype int add(int, int); int main() ( int sum; // calling the function and storing // the returned value in sum sum = add(100, 78); cout << "100 + 78 = " << sum << endl; return 0; ) // function definition int add(int a, int b) ( return (a + b); )
Output
100 + 78 = 178
The above program is nearly identical to Example 3. The only difference is that here, the function is defined after the function call.
That's why we have used a function prototype in this example.
Benefits of Using User-Defined Functions
- Functions make the code reusable. We can declare them once and use them multiple times.
- Functions make the program easier as each small task is divided into a function.
- Functions increase readability.
C++ Library Functions
Library functions are the built-in functions in C++ programming.
Programmers can use library functions by invoking the functions directly; they don't need to write the functions themselves.
Some common library functions in C++ are sqrt()
, abs()
, isdigit()
, etc.
In order to use library functions, we usually need to include the header file in which these library functions are defined.
For instance, in order to use mathematical functions such as sqrt()
and abs()
, we need to include the header file cmath
.
Example 5: C++ Program to Find the Square Root of a Number
#include #include using namespace std; int main() ( double number, squareRoot; number = 25.0; // sqrt() is a library function to calculate the square root squareRoot = sqrt(number); cout << "Square root of " << number << " = " << squareRoot; return 0; )
Output
25 = 5 négyzetgyöke
Ebben a programban a sqrt()
könyvtár függvényt használjuk egy szám négyzetgyökének kiszámításához.
A funkció deklarációja sqrt()
a cmath
fejlécfájlban van meghatározva . Ezért kell használnunk a kódot #include
a sqrt()
függvény használatához .
További információért keresse fel a C ++ Standard Library funkciókat.