C++ Functies met programmavoorbeelden
Waar 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 genaamd.
Elke 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 C++ standaard bibliotheek. 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 C++ bibliotheekfuncties zijn ingebouwd 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:
Hier is een screenshot van de code:
Code Verklaring:
- Neem het iostream-headerbestand op in ons programma om de functies ervan te gebruiken.
- Voeg de cmath-bibliotheek toe om de functies ervan te gebruiken. We willen de functie sqrt() gebruiken die daarin is gedefinieerd.
- Neem de std-naamruimte op in onze code om de klassen ervan te gebruiken zonder deze aan te roepen.
- Roep de functie main() aan. De programmalogica moet worden toegevoegd aan de hoofdtekst van deze functie.
- Declareer twee dubbele variabelen, num en squareRoot.
- Druk wat tekst af op de console. In de tekst wordt de gebruiker gevraagd een getal in te voeren.
- Lees gebruikersinvoer vanaf het toetsenbord. De invoer wordt de waarde van variabele num.
- 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.
- Druk het door de gebruiker ingevoerde getal, de wortel ervan en een andere tekst af op de console.
- Het programma moet waarde retourneren na succesvolle voltooiing.
- Einde van de hoofdtekst van de functie main().
Door de gebruiker gedefinieerde functies
C++ stelt programmeurs in staat hun eigen functies te 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:
Hier is een screenshot van de code:
Code Verklaring:
- Neem het iostream-headerbestand op in ons programma om de functies ervan te gebruiken.
- Neem de std-naamruimte op in onze code om de klassen ervan te gebruiken zonder deze aan te roepen.
- Maak een door de gebruiker gedefinieerde functie met de naam SayHello().
- Druk wat tekst af op de console wanneer de functie SayHello() wordt aangeroepen.
- Einde van de hoofdtekst van de functie SayHello().
- Roep de functie main() aan. De programmalogica moet worden toegevoegd aan de hoofdtekst van deze functie.
- Roep/roep de functie met de naam SayHello() aan.
- Het programma moet waarde retourneren na succesvolle voltooiing.
- 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 hiervoor is dat de compiler de details van de door de gebruiker gedefinieerde functie niet kent. De details omvatten de naam, de typen argumenten en hun retourtypen.
In C++, de functiedeclaratie/prototype declareert een functie zonder body. Dit geeft de compiler details van de door de gebruiker gedefinieerde functie.
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 over de functienaam, het retourtype en parameters. Een functiedefinitie vertelt de C++ compiler over de functiebody.
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.
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++, een argument/parameter zijn de gegevens die tijdens de aanroep 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:
Hier is een screenshot van de code:
Code Verklaring:
- Neem het iostream-headerbestand op in ons programma om de functies ervan te gebruiken.
- Neem de std-naamruimte op in onze code om de klassen ervan te gebruiken zonder deze aan te roepen.
- Declareer een functie met de naam addFunc() waaraan twee gehele parameters moeten doorgegeven worden. Hierdoor ontstaat het functieprototype.
- Roep de functie main() aan. De programmalogica moet worden toegevoegd aan de hoofdtekst van deze functie.
- Declareer drie gehele variabelen, x, y en som.
- Print wat tekst op de console. De tekst vraagt de gebruiker om twee getallen in te voeren.
- Lees de gebruikersinvoer van het toetsenbord. De gebruiker moet twee getallen invoeren voor variabelen x en y, gescheiden door spaties.
- Roep de functie addFunc() aan en geef de parameters x en y door. De functie zal op deze parameters werken en de uitvoer toewijzen aan de variabele sum.
- Druk de waarden van variabelen x, y en som af op de console naast andere tekst.
- De functie moet na succesvolle voltooiing een waarde retourneren.
- Einde van de hoofdtekst van de functie main().
- Functiedefinitie. We definiëren de functie addFunc(). We zullen aangeven wat de functie zal doen binnen zijn lichaam, de { }.
- Het declareren van een integer-variabele met de naam addFunc.
- Het optellen van de waarden van de parameters num1 en num2 en het toewijzen van het resultaat aan de variabele addFunc.
- De functie addFunc() moet de waarde van de variabele addFunc retourneren.
- Einde van het functielichaam, dat wil zeggen de functiedefinitie.
Samenvatting
- Een functie binnen C++ helpt u gerelateerde code in één te 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 definieert als C++ programmeur.
- 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.