C++ Functies met programmavoorbeelden

Wat is een functie in C++?

A functie in C++ verwijst naar een groep instructies die invoer opneemt, deze verwerkt en een uitvoer retourneert. Het idee achter een functie is het combineren van algemene taken die herhaaldelijk worden uitgevoerd. Als u verschillende invoergegevens heeft, schrijft u niet opnieuw dezelfde code. U roept eenvoudigweg de functie aan met een andere set gegevens, parameters genoemd.

Elk C++-programma heeft minstens één functie, de functie main(). U kunt uw code in verschillende functies verdelen. Deze verdeling moet zodanig zijn dat elke functie een specifieke taak uitvoert.

Er zijn veel ingebouwde functies in de standaardbibliotheek van C++. Deze functies kunt u binnen uw programma aanroepen.

Waarom functies gebruiken?

Er zijn talloze voordelen verbonden aan het gebruik van functies. Deze omvatten:

  • Elke functie voegt gerelateerde code samen. Dit maakt het voor programmeurs gemakkelijker om code te begrijpen.
  • Functies maken het programmeren eenvoudiger door herhaling van code te elimineren.
  • Functies vergemakkelijken het hergebruik van code. U kunt dezelfde functie aanroepen om een ​​taak uit te voeren in verschillende delen van het programma of zelfs buiten het programma.

Ingebouwde functies

In de C++-bibliotheek zijn functies ingebouwde C++-functies. Om deze functies te gebruiken, roept u ze eenvoudigweg rechtstreeks op. U hoeft de functies niet zelf te schrijven.

Voorbeeld 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:

Ingebouwde functies

Hier is een screenshot van de code:

Ingebouwde functies

Code Verklaring:

  1. Neem het iostream-headerbestand op in ons programma om de functies ervan te gebruiken.
  2. Voeg de cmath-bibliotheek toe om de functies ervan te gebruiken. We willen de functie sqrt() gebruiken die daarin is gedefinieerd.
  3. Neem de std-naamruimte op in onze code om de klassen ervan te gebruiken zonder deze aan te roepen.
  4. Roep de functie main() aan. De programmalogica moet worden toegevoegd aan de hoofdtekst van deze functie.
  5. Verklaar twee double variabelen, num en squareRoot.
  6. Druk wat tekst af op de console. In de tekst wordt de gebruiker gevraagd een getal in te voeren.
  7. Lees gebruikersinvoer vanaf het toetsenbord. De invoer wordt de waarde van variabele num.
  8. Roep de bibliotheekfunctie sqrt() aan, die de vierkantswortel van een getal berekent. We hebben de parameter num aan de functie doorgegeven, wat betekent dat deze de vierkantswortel van num berekent. Deze functie is gedefinieerd in de cmath-bibliotheek.
  9. Druk het door de gebruiker ingevoerde getal, de wortel ervan en een andere tekst af op de console.
  10. Het programma moet waarde retourneren na succesvolle voltooiing.
  11. Einde van de hoofdtekst van de functie main().

Door de gebruiker gedefinieerde functies

Met C++ kunnen programmeurs hun eigen functies definiëren. Het doel van de functie is om gerelateerde code te groeperen. De code krijgt dan een unieke identificatie, de functienaam.

De functie kan vanuit elk ander deel van het programma worden aangeroepen/aangeroepen. Vervolgens voert het de code uit die in zijn hoofdtekst is gedefinieerd.

Voorbeeld 2:

#include <iostream>
using namespace std;

void sayHello() {
	cout << "Hello!";
}

int main() {

	sayHello();

	return 0;
}

Output:

Door de gebruiker gedefinieerde functies

Hier is een screenshot van de code:

Door de gebruiker gedefinieerde functies

Code Verklaring:

  1. Neem het iostream-headerbestand op in ons programma om de functies ervan te gebruiken.
  2. Neem de std-naamruimte op in onze code om de klassen ervan te gebruiken zonder deze aan te roepen.
  3. Maak een door de gebruiker gedefinieerde functie met de naam SayHello().
  4. Druk wat tekst af op de console wanneer de functie SayHello() wordt aangeroepen.
  5. Einde van de hoofdtekst van de functie SayHello().
  6. Roep de functie main() aan. De programmalogica moet worden toegevoegd aan de hoofdtekst van deze functie.
  7. Roep/roep de functie met de naam SayHello() aan.
  8. Het programma moet waarde retourneren na succesvolle voltooiing.
  9. Einde van de hoofdtekst van de functie main().

Functieverklaring/Prototype

Als u een door de gebruiker gedefinieerde functie definieert na de functie main(), wordt de C++-compiler zal een fout retourneren. De reden is dat de compiler de de niet kenttails van de door de gebruiker gedefinieerde functie. De details vermeld de naam, de typen argumenten en hun retourtypen.

In C++ is de functiedeclaratie/prototype declares een functie zonder lichaam. Dit geeft de compiler details van de door de gebruiker gedefinieerde functie.

Functieverklaring/Prototype

In de declaratie/prototype nemen we het retourtype, de functienaam en argumenttypen op. De namen van argumenten worden niet toegevoegd. Het toevoegen van de argumentnamen genereert echter geen fout.

Functiedefinitie

Het doel van de functiedeclaratie is om de C++-compiler te vertellen over de functienaam, het retourtype en parameters. Een functiedefinitie vertelt de C++-compiler over de functiebody.

Functiedefinitie/prototype

Syntaxis

return_datatype function_name( parameters) {
   function body 
}

Uit het bovenstaande blijkt dat een functiedefinitie de functiekoptekst en hoofdtekst heeft. Hier volgt een uitleg van de parameters:

  • return_datatype- Sommige functies retourneren waarde. Deze parameter geeft het gegevenstype van de geretourneerde waarde aan. Sommige functies retourneren geen waarde. In dat geval vervalt de waarde van deze parameter.
  • function_name- Dit is de naam van de functie. De functienaam en parameters vormen de functiehandtekening.
  • Parameters- Dit is het type, de volgorde en het aantal functieparameters. Sommige functies hebben geen parameters.
  • functielichaam - dit zijn uitspraken die definiëren wat de functie zal doen.

Functie-oproep:

Als een functie de opgegeven taak wil uitvoeren en uitvoer wil retourneren, moet deze worden aangeroepen. Wanneer u een functie aanroept, voert deze de instructies uit die in de hoofdtekst zijn toegevoegd.

Functie-oproep:

Een programma wordt bij zijn naam genoemd. Als de functie parameters accepteert, moeten hun waarden tijdens de aanroep worden doorgegeven. Als de service geen parameters gebruikt, geef dan geen waarde door tijdens de aanroep.

Argumenten doorgeven

In C++ zijn een argument/parameter de gegevens die tijdens de aanroep ervan aan een functie worden doorgegeven. De waarden moeten worden geïnitialiseerd op basis van hun respectieve variabelen.

Bij het aanroepen van een functie moeten de argumenten qua getal overeenkomen. Dit betekent dat de waarden die u doorgeeft gelijk moeten zijn aan het aantal parameters. Ook hier moeten de waarden qua type overeenkomen met de parameters. Als de eerste parameter een geheel getal is, moet de waarde die eraan wordt doorgegeven een geheel getal zijn.

U kunt standaardwaarden aan functieparameters toewijzen. Als u tijdens de functieaanroep geen waarde voor de parameter doorgeeft, wordt de standaardwaarde gebruikt.

Voorbeeld 3: Hoe u een functie schrijft en oproept

#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:

Argumenten doorgeven

Hier is een screenshot van de code:

Argumenten doorgeven

Code Verklaring:

  1. Neem het iostream-headerbestand op in ons programma om de functies ervan te gebruiken.
  2. Neem de std-naamruimte op in onze code om de klassen ervan te gebruiken zonder deze aan te roepen.
  3. Declareer een functie met de naam addFunc() waaraan twee gehele parameters moeten doorgegeven worden. Hierdoor ontstaat het functieprototype.
  4. Roep de functie main() aan. De programmalogica moet worden toegevoegd aan de hoofdtekst van deze functie.
  5. Declareer drie gehele variabelen, x, y en som.
  6. Druk wat tekst af op de console. In de tekst wordt de gebruiker gevraagd er twee in te voeren numbers.
  7. Lees de gebruikersinvoer vanaf het toetsenbord. De gebruiker moet er twee invoeren numbers voor variabelen x en y, gescheiden door een spatie.
  8. Roep de functie addFunc() aan en geef daaraan de parameters x en y door. De functie zal operate over deze parameters en wijs de uitvoer toe aan de variabele som.
  9. Druk de waarden van variabelen x, y en som af op de console naast andere tekst.
  10. De functie moet na succesvolle voltooiing een waarde retourneren.
  11. Einde van de hoofdtekst van de functie main().
  12. Functiedefinitie. We definiëren de functie addFunc(). We zullen aangeven wat de functie zal doen binnen zijn lichaam, de { }.
  13. Het declareren van een integer-variabele met de naam addFunc.
  14. Het optellen van de waarden van de parameters num1 en num2 en het toewijzen van het resultaat aan de variabele addFunc.
  15. De functie addFunc() moet de waarde van de variabele addFunc retourneren.
  16. Einde van het functielichaam, dat wil zeggen de functiedefinitie.

Samengevat

  • Met een functie in C++ kunt u gerelateerde code in één groep groeperen.
  • Functies vergemakkelijken het hergebruik van code.
  • In plaats van keer op keer soortgelijke code te schrijven, groepeert u deze eenvoudigweg in een functie. U kunt de functie vervolgens overal in de code aanroepen.
  • Functies kunnen bibliotheek- of door de gebruiker gedefinieerd zijn.
  • Bibliotheekfuncties zijn de verschillende ingebouwde functies C++ functies.
  • Om bibliotheekfuncties te gebruiken, voegt u eenvoudigweg de definitiebibliotheek toe en roept u de functie aan. Je definieert de functie niet.
  • Door de gebruiker gedefinieerde functies zijn de functies die u als C++-programmeur definieert.
  • Een functiedeclaratie vertelt de compiler over de functienaam, het retourtype en de parametertypen.
  • Een functiedefinitie voegt de hoofdtekst van de functie toe.
  • Als een functie parameters accepteert, moeten hun waarden worden doorgegeven tijdens de functieaanroep.