Modulelessen (1/2)
Basisfuncties
Functies maken het mogelijk code in herbruikbare logische blokken te organiseren, waardoor duplicatie wordt verminderd en de leesbaarheid wordt verbeterd.
In C++ moet elke functie het type waarde declareren dat het retourneert, de naam ervan en de typen parameters die het accepteert.
Een functie definiëren
Hier is een voorbeeld van een eenvoudige functie die twee gehele getallen optelt:
#include <iostream>
// Function definition
int add(int a, int b) {
return a + b; // Returns the sum
}
int main() {
int result = add(3, 4); // Function call
std::cout << "Result: " << result << std::endl;
return 0;
}Structuur en handtekening
- Retourtype: het type waarde dat wordt geretourneerd met de instructie
return(bijvoorbeeldint,double,bool). Als de functie geen waarde retourneert, wordt het speciale typevoidgebruikt. - Naam: de identificatie om de functie aan te roepen (met behulp van de stijl
camelCasein overeenstemming met R2). - Parameters: de lijst met invoervariabelen tussen haakjes
(), elk voorafgegaan door het type ervan.
Verklaring versus definitie
Om functies onder de functie main te plaatsen, declareert u eerst het prototype (de handtekening zonder de hoofdtekst):
#include <iostream>
// Prototype (Declaration)
int multiply(int a, int b);
int main() {
std::cout << multiply(3, 5); // Valid
return 0;
}
// Definition
int multiply(int a, int b) {
return a * b;
}Probeer het zelf
Definieer een functie met de naam vierkant waaraan een geheel getal n moet doorgegeven worden en het kwadraat daarvan (n * n) retourneert. Noem het in main om het kwadraat van 5 te berekenen en druk het af met std::cout.
Toon hint
De handtekening van de functie is `int square(int n)`. Vergeet niet om de functiedefinitie vóór `main` te plaatsen.
Oplossing beschikbaar na 3 pogingen
Definieer een Booleaanse functie met de naam isEven, waaraan een geheel getal n moet doorgegeven worden en waar retourneert als het getal even is (met % 2 == 0), anders onwaar. Noem het in hoofdlijnen met 4 en druk het af.
Toon hint
De functie moet een `bool`type retourneren. Gebruik`n % 2 == 0`.
Oplossing beschikbaar na 3 pogingen