C++ Funktioner med programeksempler
Hvad er en funktion i C++?
A funktion in C++ refererer til en gruppe af udsagn, der tager input, behandler det og returnerer et output. Ideen bag en funktion er at kombinere almindelige opgaver, der udføres gentagne gange. Hvis du har forskellige indgange, vil du ikke skrive den samme kode igen. Du vil blot kalde funktionen med et andet sæt data kaldet parametre.
Hver C++ programmet har mindst én funktion, main()-funktionen. Du kan opdele din kode i forskellige funktioner. Denne opdeling skal være sådan, at hver funktion udfører en bestemt opgave.
Der er mange indbyggede funktioner i C++ standard bibliotek. Du kan kalde disse funktioner i dit program.
Hvorfor bruge funktioner?
Der er mange fordele forbundet med brugen af funktioner. Disse omfatter:
- Hver funktion sætter relateret kode sammen. Dette gør det lettere for programmører at forstå kode.
- Funktioner gør programmering lettere ved at eliminere kodegentagelse.
- Funktioner letter genbrug af kode. Du kan kalde den samme funktion for at udføre en opgave i forskellige sektioner af programmet eller endda uden for programmet.
Indbyggede funktioner
In C++ biblioteksfunktioner er indbygget C++ funktioner. For at bruge disse funktioner skal du blot påkalde/kalde dem direkte. Du skal ikke selv skrive funktionerne.
Eksempel 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:
Her er et skærmbillede af koden:
Kodeforklaring:
- Inkluder iostream-headerfilen i vores program for at bruge dens funktioner.
- Inkluder cmath-biblioteket for at bruge dets funktioner. Vi ønsker at bruge funktionen sqrt() defineret i den.
- Inkluder std-navneområdet i vores kode for at bruge dets klasser uden at kalde det.
- Kald funktionen main(). Programlogikken skal tilføjes i denne funktions brødtekst.
- Deklarer to dobbeltvariable, num og kvadratrod.
- Udskriv noget tekst på konsollen. Teksten beder brugeren om at indtaste et tal.
- Læs brugerinput fra tastaturet. Indtastningen bliver værdien af variabel num.
- Kald biblioteksfunktionen sqrt(), som beregner kvadratroden af et tal. Vi sendte parameteren num til funktionen, hvilket betyder, at den vil beregne kvadratroden af num. Denne funktion er defineret i cmath-biblioteket.
- Udskriv nummeret indtastet af brugeren, dets kvadratrod og noget anden tekst på konsollen.
- Programmet skal returnere værdi efter vellykket afslutning.
- Slutningen af hoveddelen af funktionen main().
Brugerdefinerede funktioner
C++ giver programmører mulighed for at definere deres egne funktioner. Formålet med funktionen er at gruppere relateret kode. Koden får derefter en unik identifikator, funktionsnavnet.
Funktionen kan kaldes/kaldes fra enhver anden del af programmet. Det vil derefter udføre den kode, der er defineret i sin krop.
Eksempel 2:
#include <iostream> using namespace std; void sayHello() { cout << "Hello!"; } int main() { sayHello(); return 0; }
Output:
Her er et skærmbillede af koden:
Kodeforklaring:
- Inkluder iostream-headerfilen i vores program for at bruge dens funktioner.
- Inkluder std-navneområdet i vores kode for at bruge dets klasser uden at kalde det.
- Opret en brugerdefineret funktion ved navn sayHello().
- Udskriv noget tekst på konsollen, når funktionen sayHello() kaldes.
- Slutningen af brødteksten af sayHello()-funktionen.
- Kald funktionen main(). Programlogikken skal tilføjes i denne funktions brødtekst.
- Kald/kald funktionen ved navn sayHello().
- Programmet skal returnere værdi efter vellykket afslutning.
- Slutningen af hoveddelen af funktionen main().
Funktionserklæring/prototype
Hvis du definerer en brugerdefineret funktion efter funktionen main(), vil den C++ compiler vil returnere en fejl. Årsagen er, at compileren ikke kender detaljerne i den brugerdefinerede funktion. Detaljerne omfatter dets navn, typerne af argumenter og deres returtyper.
In C++, erklærer funktionserklæringen/prototypen en funktion uden krop. Dette giver compileren detaljer om den brugerdefinerede funktion.
I erklæringen/prototypen inkluderer vi returtypen, funktionsnavnet og argumenttyper. Navnene på argumenter tilføjes ikke. Tilføjelse af argumentnavne genererer dog ingen fejl.
Funktionsdefinition
Formålet med funktionserklæringen er at fortælle C++ compiler om funktionsnavnet, returtypen og parametre. En funktionsdefinition fortæller C++ compiler om funktionslegemet.
Syntaks
return_datatype function_name( parameters) { function body }
Fra ovenstående har en funktionsdefinition funktionshovedet og brødteksten. Her er en forklaring af parametrene:
- return_datatype- Nogle funktioner returnerer værdi. Denne parameter angiver datatypen for returværdien. Nogle funktioner returnerer ikke værdi. I så fald bliver værdien af denne parameter ugyldig.
- funktionsnavn- Dette er navnet på funktionen. Funktionens navn og parametre danner funktionssignaturen.
- Parametre- Dette er typen, rækkefølgen og antallet af funktionsparametre. Nogle funktioner har ikke parametre.
- funktionslegeme - disse er udsagn, der definerer, hvad funktionen vil gøre.
Funktionsopkald
For at en funktion kan udføre den angivne opgave og returnere output, skal den kaldes. Når du kalder en funktion, udfører den de sætninger, der er tilføjet i dens krop.
Et program kaldes ved sit navn. Hvis funktionen tager parametre, skal deres værdier videregives under opkaldet. Hvis tjenesten ikke tager nogen parametre, skal du ikke videregive nogen værdi under opkaldet.
Består argumenter
In C++, et argument/parameter er de data, der sendes til en funktion under dens opkald. Værdierne skal initialiseres til deres respektive variable.
Når du kalder en funktion, skal argumenterne matche i antal. Det betyder, at de værdier, du sender, skal være lig med antallet af parametre. Igen skal værdierne også matche parametrene med hensyn til type. Hvis den første parameter er et heltal, skal den værdi, der sendes til den, være et heltal.
Man kan tildele standardværdier til funktionsparametre. Hvis du ikke sender en værdi for parameteren under funktionskaldet, vil standardværdien blive brugt.
Eksempel 3: Hvordan man skriver og kalder en funktion
#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:
Her er et skærmbillede af koden:
Kodeforklaring:
- Inkluder iostream-headerfilen i vores program for at bruge dens funktioner.
- Inkluder std-navneområdet i vores kode for at bruge dets klasser uden at kalde det.
- Erklær en funktion ved navn addFunc(), der tager to heltalsparametre. Dette skaber funktionsprototypen.
- Kald funktionen main(). Programlogikken skal tilføjes i denne funktions brødtekst.
- Deklarer tre heltalsvariable, x, y og sum.
- Udskriv noget tekst på konsollen. Teksten beder brugeren om at indtaste to tal.
- Læs brugerinputtet fra tastaturet. Brugeren skal indtaste to tal for variablene x og y, adskilt af mellemrum.
- Kald funktionen addFunc() og overfør parametrene x og y til den. Funktionen vil operere på disse parametre og tildele output til den variable sum.
- Udskriv værdierne af variablerne x, y og sum på konsollen sammen med anden tekst.
- Funktionen skal returnere værdi efter vellykket afslutning.
- Slutningen af hoveddelen af funktionen main().
- Funktionsdefinition. Vi definerer funktionen addFunc(). Vi vil angive, hvad funktionen vil gøre i dens krop, { }.
- Erklæring af en heltalsvariabel ved navn addFunc.
- Tilføjelse af værdierne af parametrene num1 og num2 og tildeling af resultatet til variabel addFunc.
- Funktionen addFunc() skal returnere værdien af variabelen addFunc.
- Slut på funktionslegemet, det vil sige funktionsdefinition.
Resumé
- En funktion i C++ hjælper dig med at gruppere relateret kode i én.
- Funktioner letter genbrug af kode.
- I stedet for at skrive lignende kode igen og igen, grupperer du den blot i en funktion. Du kan derefter kalde funktionen fra et hvilket som helst sted i koden.
- Funktioner kan være biblioteks- eller brugerdefinerede.
- Biblioteksfunktioner er de funktioner, der er indbygget forskellige C++ funktioner.
- For at bruge biblioteksfunktioner inkluderer du blot dets definitionsbibliotek og kalder funktionen. Du definerer ikke funktionen.
- Brugerdefinerede funktioner er de funktioner, du definerer som en C++ programmør.
- En funktionserklæring fortæller compileren om funktionsnavnet, returtypen og parametertyperne.
- En funktionsdefinition tilføjer funktionens krop.
- Hvis en funktion tager parametre, skal deres værdier videregives under funktionskaldet.