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:
Code Forklaring:
- 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:
Code Forklaring:
- 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:
Code Forklaring:
- 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.






