Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

C++-functies

C++-functies

In deze tutorial leren we over de C++-functie en functie-expressies met behulp van voorbeelden.

Een functie is een codeblok dat een specifieke taak uitvoert.

Stel dat we een programma moeten maken om een ​​cirkel te maken en deze in te kleuren. We kunnen twee functies maken om dit probleem op te lossen:

  • een functie om de cirkel te tekenen
  • een functie om de cirkel te kleuren

Door een complex probleem in kleinere stukken op te delen, is ons programma gemakkelijk te begrijpen en herbruikbaar.

Er zijn twee soorten functies:

  1. Standaard bibliotheekfuncties: Vooraf gedefinieerd in C++
  2. Door de gebruiker gedefinieerde functie: Gemaakt door gebruikers

In deze tutorial zullen we ons vooral concentreren op door de gebruiker gedefinieerde functies.


C++ Door gebruiker gedefinieerde functie

Met C++ kan de programmeur zijn eigen functie definiëren.

Een door de gebruiker gedefinieerde functie groepeert code om een ​​specifieke taak uit te voeren en die groep code krijgt een naam (identifier).

Wanneer de functie wordt aangeroepen vanuit een deel van het programma, voert het allemaal de codes uit die zijn gedefinieerd in de hoofdtekst van de functie.


C++-functieverklaring

De syntaxis om een ​​functie te declareren is:

returnType functionName (parameter1, parameter2,...) {
    // function body   
}

Hier is een voorbeeld van een functiedeclaratie.

// function declaration
void greet() {
    cout << "Hello World";
}

Hier,

  • de naam van de functie is greet()
  • het retourtype van de functie is void
  • de lege haakjes betekenen dat het geen parameters heeft
  • de hoofdtekst van de functie is geschreven in {}

Opmerking: We leren over returnType en parameters verderop in deze tutorial.


Een functie aanroepen

In het bovenstaande programma hebben we een functie gedeclareerd met de naam greet() . Om de greet() . te gebruiken functie, we moeten het aanroepen.

Zo kunnen we de bovenstaande greet() noemen functie.

int main() {
     
    // calling a function   
    greet(); 

}

Voorbeeld 1:toon een tekst

#include <iostream>
using namespace std;

// declaring a function
void greet() {
    cout << "Hello there!";
}

int main() {

    // calling the function
    greet();

    return 0;
}

Uitvoer

Hello there!

Functieparameters

Zoals hierboven vermeld, kan een functie worden gedeclareerd met parameters (argumenten). Een parameter is een waarde die wordt doorgegeven bij het declareren van een functie.

Laten we bijvoorbeeld de onderstaande functie eens bekijken:

void printNum(int num) {
    cout << num;
}

Hier, de int variabele num is de functieparameter.

We geven een waarde door aan de functieparameter terwijl we de functie aanroepen.

int main() {
    int n = 7;
    
    // calling the function
    // n is passed to the function as argument
    printNum(n);
    
    return 0;
}

Voorbeeld 2:Functie met parameters

// program to print a text

#include <iostream>
using namespace std;

// display a number
void displayNum(int n1, float n2) {
    cout << "The int number is " << n1;
    cout << "The double number is " << n2;
}

int main() {
     
     int num1 = 5;
     double num2 = 5.5;

    // calling the function
    displayNum(num1, num2);

    return 0;
}

Uitvoer

The int number is 5
The double number is 5.5

In het bovenstaande programma hebben we een functie gebruikt met één int parameter en één double parameter.

We geven dan num1 . door en num2 als argumenten. Deze waarden worden opgeslagen door de functieparameters n1 en n2 respectievelijk.

Opmerking: Het type argumenten dat wordt doorgegeven tijdens het aanroepen van de functie moet overeenkomen met de overeenkomstige parameters die zijn gedefinieerd in de functiedeclaratie.


Retourverklaring

In de bovenstaande programma's hebben we void gebruikt in de functiedeclaratie. Bijvoorbeeld,

void displayNumber() {
    // code
}

Dit betekent dat de functie geen waarde retourneert.

Het is ook mogelijk om een ​​waarde uit een functie te retourneren. Hiervoor moeten we de returnType . specificeren van de functie tijdens functiedeclaratie.

Dan, de return statement kan worden gebruikt om een ​​waarde van een functie te retourneren.

Bijvoorbeeld,

int add (int a, int b) {
   return (a + b);
}

Hier hebben we het gegevenstype int in plaats van void . Dit betekent dat de functie een int . teruggeeft waarde.

De code return (a + b); geeft de som van de twee parameters terug als de functiewaarde.

De return statement geeft aan dat de functie is beëindigd. Elke code na return binnen de functie wordt niet uitgevoerd.


Voorbeeld 3:Twee getallen toevoegen

// program to add two numbers using a function

#include <iostream>

using namespace std;

// declaring a function
int add(int a, int b) {
    return (a + b);
}

int main() {

    int sum;
    
    // calling the function and storing
    // the returned value in sum
    sum = add(100, 78);

    cout << "100 + 78 = " << sum << endl;

    return 0;
}

Uitvoer

100 + 78 = 178

In het bovenstaande programma is de add() functie wordt gebruikt om de som van twee getallen te vinden.

We passeren twee int letterlijke 100 en 78 tijdens het aanroepen van de functie.

We slaan de geretourneerde waarde van de functie op in de variabele som , en dan drukken we het af.

Merk op dat som is een variabele van int type. Dit komt omdat de retourwaarde van add() is van int typ.


Functieprototype

In C++ moet de code van de functiedeclaratie vóór de functieaanroep staan. Als we echter een functie willen definiëren na de functieaanroep, moeten we het functie-prototype gebruiken. Bijvoorbeeld,

// function prototype
void add(int, int);

int main() {
    // calling the function before declaration.
    add(5, 3);
    return 0;
}

// function definition
void add(int a, int b) {
    cout << (a + b);
}

In de bovenstaande code is het functie-prototype:

void add(int, int);

Dit geeft de compiler informatie over de functienaam en zijn parameters. Daarom kunnen we de code gebruiken om een ​​functie aan te roepen voordat de functie is gedefinieerd.

De syntaxis van een functie-prototype is:

returnType functionName(dataType1, dataType2, ...);

Voorbeeld 4:C++-functieprototype

// using function definition after main() function
// function prototype is declared before main()

#include <iostream>

using namespace std;

// function prototype
int add(int, int);

int main() {
    int sum;

    // calling the function and storing
    // the returned value in sum
    sum = add(100, 78);

    cout << "100 + 78 = " << sum << endl;

    return 0;
}

// function definition
int add(int a, int b) {
    return (a + b);
}

Uitvoer

100 + 78 = 178

Het bovenstaande programma is bijna identiek aan Voorbeeld 3 . Het enige verschil is dat hier de functie wordt gedefinieerd na de functie-aanroep.

Daarom hebben we in dit voorbeeld een functie-prototype gebruikt.


Voordelen van het gebruik van door de gebruiker gedefinieerde functies

  • Functies maken de code herbruikbaar. We kunnen ze één keer declareren en meerdere keren gebruiken.
  • Functies maken het programma gemakkelijker omdat elke kleine taak is onderverdeeld in een functie.
  • Functies verhogen de leesbaarheid.

C++ bibliotheekfuncties

Bibliotheekfuncties zijn de ingebouwde functies in C++-programmering.

Programmeurs kunnen bibliotheekfuncties gebruiken door de functies rechtstreeks aan te roepen; ze hoeven de functies niet zelf te schrijven.

Enkele veelgebruikte bibliotheekfuncties in C++ zijn sqrt() , abs() , isdigit() , enz.

Om bibliotheekfuncties te gebruiken, moeten we meestal het headerbestand opnemen waarin deze bibliotheekfuncties zijn gedefinieerd.

Om bijvoorbeeld wiskundige functies zoals sqrt() . te gebruiken en abs() , moeten we het headerbestand cmath . opnemen .


Voorbeeld 5:C++-programma om de vierkantswortel van een getal te vinden

#include <iostream>
#include <cmath>
using namespace std;

int main() {
    double number, squareRoot;
    
    number = 25.0;

    // sqrt() is a library function to calculate the square root
    squareRoot = sqrt(number);

    cout << "Square root of " << number << " = " << squareRoot;

    return 0;
}

Uitvoer

Square root of 25 = 5

In dit programma wordt de sqrt() bibliotheekfunctie wordt gebruikt om de vierkantswortel van een getal te berekenen.

De functiedeclaratie van sqrt() is gedefinieerd in de cmath header-bestand. Daarom moeten we de code #include <cmath> . gebruiken om de sqrt() . te gebruiken functie.

Ga voor meer informatie naar C++ Standard Library-functies.


C Taal

  1. C++-operators
  2. C++ Opmerkingen
  3. Array doorgeven aan een functie in C++-programmering
  4. C++ vriend Functie en vriend Klassen
  5. 10 populaire functies in Stratasys Insight
  6. Overbelasting van C++-operator met voorbeelden
  7. Python Lambda-functies met VOORBEELDEN
  8. Verilog-functies
  9. C - Functies
  10. C++ overbelasting (operator en functie)
  11. Polymorfisme in C++