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:

Beépített funkciók

Itt van egy képernyőkép a kódról:

Beépített funkciók

Kód magyarázata:

  1. Szerelje be az iostream fejlécfájlt a programunkba a funkcióinak használatához.
  2. Tartalmazza a cmath könyvtárat a funkcióinak használatához. A benne definiált sqrt() függvényt szeretnénk használni.
  3. Szerelje be az std névteret a kódunkba, hogy az osztályait hívás nélkül használhassa.
  4. Hívja meg a main() függvényt. A program logikáját hozzá kell adni a függvény törzséhez.
  5. Deklaráljon két kettős változót, a számot és a négyzetgyököt.
  6. Nyomtasson szöveget a konzolra. A szöveg arra kéri a felhasználót, hogy írjon be egy számot.
  7. Felhasználói bevitel olvasása a billentyűzetről. A bemenet a num változó értéke lesz.
  8. 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.
  9. Nyomtassa ki a felhasználó által beírt számot, annak négyzetgyökét és más szöveget a konzolon.
  10. A programnak értéket kell visszaadnia a sikeres befejezés után.
  11. 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:

Felhasználó által meghatározott funkciók

Itt van egy képernyőkép a kódról:

Felhasználó által meghatározott funkciók

Kód magyarázata:

  1. Szerelje be az iostream fejlécfájlt a programunkba a funkcióinak használatához.
  2. Szerelje be az std névteret a kódunkba, hogy az osztályait hívás nélkül használhassa.
  3. Hozzon létre egy felhasználó által definiált függvényt sayHello() néven.
  4. Nyomtasson szöveget a konzolra a sayHello() függvény meghívásakor.
  5. A sayHello() függvény törzsének vége.
  6. Hívja meg a main() függvényt. A program logikáját hozzá kell adni a függvény törzséhez.
  7. Hívja/indálja meg a sayHello() nevű függvényt.
  8. A programnak értéket kell visszaadnia a sikeres befejezés után.
  9. 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.

Funkciónyilatkozat/Prototípus

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.

Funkció definíció/prototípus

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.

Funkcióhívás

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:

Érvek átadása

Itt van egy képernyőkép a kódról:

Érvek átadása

Kód magyarázata:

  1. Szerelje be az iostream fejlécfájlt a programunkba a funkcióinak használatához.
  2. Szerelje be az std névteret a kódunkba, hogy az osztályait hívás nélkül használhassa.
  3. 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.
  4. Hívja meg a main() függvényt. A program logikáját hozzá kell adni a függvény törzséhez.
  5. Deklaráljunk három egész változót, x, y és sum.
  6. Nyomtasson szöveget a konzolra. A szöveg két szám megadására kéri a felhasználót.
  7. 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.
  8. 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.
  9. Nyomtassa ki az x, y és sum változók értékét a konzolon más szövegek mellé.
  10. A függvénynek értéket kell visszaadnia a sikeres befejezés után.
  11. A main() függvény törzsének vége.
  12. 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.
  13. AddFunc nevű egész változó deklarálása.
  14. A num1 és num2 paraméterek értékeinek összeadása és az eredmény hozzárendelése az addFunc változóhoz.
  15. Az addFunc() függvénynek vissza kell adnia az addFunc változó értékét.
  16. 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.

Foglald össze ezt a bejegyzést a következőképpen: