C++ Funkciók programpéldákkal
Miben van egy funkció C++?
A funkció in C++ utasítások egy csoportjára utal, amely bemenetet vesz, feldolgoz, és kimenetet ad vissza. A funkciók mögött meghúzódó ötlet az, hogy egyesítse az ismétlődő közös feladatokat. Ha különböző bemenetek vannak, akkor nem írja be újra ugyanazt a kódot. Egyszerűen hívja meg a függvényt egy másik, paramétereknek nevezett adatkészlettel.
Minden C++ programnak van legalább egy függvénye, a main() függvény. A kódot különböző függvényekre oszthatja fel. Ennek a felosztásnak olyannak kell lennie, hogy minden függvény egy adott feladatot lát el.
Számos beépített funkció található a C++ szabványos könyvtár. Ezeket a függvényeket meghívhatja a programon belül.
Miért használjunk függvényeket?
A funkciók használatának számos előnye van. Ezek tartalmazzák:
- Minden függvény összerakja a kapcsolódó kódot. Ez megkönnyíti a programozók számára a kód megértését.
- A funkciók megkönnyítik a programozást a kódismétlés kiküszöbölésével.
- A funkciók megkönnyítik a kód újrafelhasználását. Ugyanazt a függvényt meghívhatja egy feladat végrehajtásához a program különböző szakaszaiban, vagy akár a programon kívül is.
Beépített funkciók
In C++ a könyvtári funkciók be vannak építve C++ funkciókat. Ezeknek a függvényeknek a használatához egyszerűen meg kell hívnia őket közvetlenül. Nem kell saját kezűleg megírnia a függvényeket.
Példa 1:
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double num, squareRoot;
cout << "Enter number: ";
cin >> num;
squareRoot = sqrt(num);
cout << "The square root of " << num << " is: " << squareRoot;
return 0;
}
output:
Itt van egy képernyőkép a kódról:
Kód magyarázata:
- Szerelje be az iostream fejlécfájlt a programunkba a funkcióinak használatához.
- Tartalmazza a cmath könyvtárat a funkcióinak használatához. A benne definiált sqrt() függvényt szeretnénk használni.
- Szerelje be az std névteret a kódunkba, hogy az osztályait hívás nélkül használhassa.
- Hívja meg a main() függvényt. A program logikáját hozzá kell adni a függvény törzséhez.
- Deklaráljon két kettős változót, a számot és a négyzetgyököt.
- Nyomtasson szöveget a konzolra. A szöveg arra kéri a felhasználót, hogy írjon be egy számot.
- Felhasználói bevitel olvasása a billentyűzetről. A bemenet a num változó értéke lesz.
- Hívja meg az sqrt() függvénykönyvtárat, amely kiszámolja egy szám négyzetgyökét. A num paramétert átadtuk a függvénynek, ami azt jelenti, hogy kiszámolja a num négyzetgyökét. Ez a függvény a cmath könyvtárban van definiálva.
- Nyomtassa ki a felhasználó által beírt számot, annak négyzetgyökét és más szöveget a konzolon.
- A programnak értéket kell visszaadnia a sikeres befejezés után.
- A main() függvény törzsének vége.
Felhasználó által meghatározott funkciók
C++ lehetővé teszi a programozók számára, hogy meghatározzák saját funkcióikat. A funkció célja a kapcsolódó kódok csoportosítása. A kód ezután egyedi azonosítót, a függvény nevét kapja.
A függvény a program bármely más részéből hívható/meghívható. Ezután végrehajtja a törzsében meghatározott kódot.
Példa 2:
#include <iostream>
using namespace std;
void sayHello() {
cout << "Hello!";
}
int main() {
sayHello();
return 0;
}
output:
Itt van egy képernyőkép a kódról:
Kód magyarázata:
- Szerelje be az iostream fejlécfájlt a programunkba a funkcióinak használatához.
- Szerelje be az std névteret a kódunkba, hogy az osztályait hívás nélkül használhassa.
- Hozzon létre egy felhasználó által definiált függvényt sayHello() néven.
- Nyomtasson szöveget a konzolra a sayHello() függvény meghívásakor.
- A sayHello() függvény törzsének vége.
- Hívja meg a main() függvényt. A program logikáját hozzá kell adni a függvény törzséhez.
- Hívja/indálja meg a sayHello() nevű függvényt.
- A programnak értéket kell visszaadnia a sikeres befejezés után.
- A main() függvény törzsének vége.
Funkciónyilatkozat/Prototípus
Ha a main() függvény után egy felhasználó által definiált függvényt definiál, a C++ fordítóprogram hibát ad vissza. Ennek az az oka, hogy a fordító nem ismeri a felhasználó által definiált függvény részleteit. A részletek közé tartozik a neve, az argumentumok típusai és azok visszatérési típusai.
In C++, a függvény deklaráció/prototípus törzs nélküli függvényt deklarál. Ez megadja a felhasználó által definiált függvény fordítójának részleteit.
A deklarációban/prototípusban megadjuk a visszatérési típust, a függvény nevét és az argumentumtípusokat. Az argumentumok nevei nincsenek hozzáadva. Az argumentumnevek hozzáadása azonban nem okoz hibát.
Funkció meghatározása
A függvénydeklaráció célja, hogy megmondja a C++ fordítóprogram a függvény nevéről, a visszatérési típusról és a paraméterekről. A függvénydefiníció megmondja a C++ fordítóprogram a függvénytörzsről.
Szintaxis
return_datatype function_name( parameters) {
function body
}
A fentiekből kiindulva egy függvénydefiníciónak van a függvény fejléce és törzse. Íme a paraméterek magyarázata:
- return_datatype- Egyes függvények értéket adnak vissza. Ez a paraméter a visszatérési érték adattípusát jelöli. Egyes függvények nem adnak vissza értéket. Ebben az esetben ennek a paraméternek az értéke érvénytelenné válik.
- függvény_neve- Ez a függvény neve. A függvény neve és paraméterei alkotják a függvény aláírását.
- Paraméterek – Ez a függvényparaméterek típusa, sorrendje és száma. Egyes funkciók nem rendelkeznek paraméterekkel.
- függvénytest – ezek olyan utasítások, amelyek meghatározzák, hogy a függvény mit fog tenni.
Funkcióhívás
Ahhoz, hogy egy függvény végrehajtsa a megadott feladatot és visszaadja a kimenetet, meg kell hívni. Amikor meghívunk egy függvényt, az végrehajtja a törzsébe hozzáadott utasításokat.
A programot a nevén hívják. Ha a függvény paramétereket vesz fel, akkor ezek értékét a hívás során át kell adni. Ha a szolgáltatás nem vesz fel paramétereket, ne adjon át semmilyen értéket a hívás során.
Érvek átadása
In C++, az argumentum/paraméter a függvénynek a hívása során átadott adat. Az értékeket a megfelelő változókra kell inicializálni.
Függvény hívásakor az argumentumok számának meg kell egyeznie. Ez azt jelenti, hogy az átadott értékeknek egyenlőnek kell lenniük a paraméterek számával. Az értékeknek ismét meg kell egyeznie a paraméterekkel a típus tekintetében. Ha az első paraméter egész szám, akkor a neki átadott értéknek egész számnak kell lennie.
A funkció paramétereihez alapértelmezett értékek rendelhetők. Ha nem ad át értéket a paraméterhez a függvényhívás során, akkor a rendszer az alapértelmezett értéket fogja használni.
3. példa: Hogyan írjunk és hívjunk függvényt
#include <iostream>
using namespace std;
int addFunc(int, int);
int main() {
int x, y, sum;
cout << "Enter two numbers: ";
cin >> x >> y;
sum = addFunc(x, y);
cout <<"The sum of "<<x<< " and " <<y<<" is: "<<sum;
return 0;
}
int addFunc(int num1, int num2) {
int addFunc;
addFunc = num1 + num2;
return addFunc;
}
output:
Itt van egy képernyőkép a kódról:
Kód magyarázata:
- Szerelje be az iostream fejlécfájlt a programunkba a funkcióinak használatához.
- Szerelje be az std névteret a kódunkba, hogy az osztályait hívás nélkül használhassa.
- Deklaráljon egy addFunc() nevű függvényt, amely két egész paramétert vesz fel. Ezzel létrejön a függvény prototípusa.
- Hívja meg a main() függvényt. A program logikáját hozzá kell adni a függvény törzséhez.
- Deklaráljunk három egész változót, x, y és sum.
- Nyomtasson szöveget a konzolra. A szöveg két szám megadására kéri a felhasználót.
- Olvassa el a felhasználói bevitelt a billentyűzetről. A felhasználónak két számot kell beírnia az x és y változókhoz, szóközzel elválasztva.
- Hívja meg az addFunc() függvényt, és adja át neki az x és y paramétereket. A funkció ezeken a paramétereken működik, és a kimenetet a változó összeghez rendeli.
- Nyomtassa ki az x, y és sum változók értékét a konzolon más szövegek mellé.
- A függvénynek értéket kell visszaadnia a sikeres befejezés után.
- A main() függvény törzsének vége.
- Funkció meghatározása. Meghatározzuk az addFunc() függvényt. Megmondjuk, hogy a függvény mit fog tenni a törzsében, a { }-ban.
- AddFunc nevű egész változó deklarálása.
- A num1 és num2 paraméterek értékeinek összeadása és az eredmény hozzárendelése az addFunc változóhoz.
- Az addFunc() függvénynek vissza kell adnia az addFunc változó értékét.
- A függvénytörzs vége, vagyis a függvénydefiníció.
Összegzésként
- Egy funkció benne C++ segít a kapcsolódó kódok csoportosításában.
- A funkciók megkönnyítik a kód újrafelhasználását.
- Ahelyett, hogy újra és újra hasonló kódot írnál, egyszerűen csoportosítod egy függvénybe. Ezután a kódon belül bárhonnan meghívhatja a függvényt.
- A funkciók lehetnek könyvtári vagy felhasználó által meghatározottak.
- A könyvtári funkciók a különféle beépített funkciók C++ funkciók.
- A könyvtári függvények használatához egyszerűen be kell vennie a definíciós könyvtárát, és meghívnia kell a függvényt. Nem definiálod a függvényt.
- A felhasználó által definiált függvények azok a függvények, amelyeket a C++ programozó.
- A függvénydeklaráció tájékoztatja a fordítót a függvény nevéről, a visszatérési típusról és a paramétertípusokról.
- A függvénydefiníció hozzáadja a függvény törzsét.
- Ha egy függvény paramétereket vesz fel, akkor azok értékét a függvényhívás során át kell adni.






