C++ Funksjoner med programeksempler
Hva er en funksjon i C++?
A funksjon in C++ refererer til en gruppe utsagn som tar inn, behandler det og returnerer et utdata. Tanken bak en funksjon er å kombinere vanlige oppgaver som gjøres gjentatte ganger. Hvis du har forskjellige innganger, vil du ikke skrive den samme koden igjen. Du vil ganske enkelt kalle funksjonen med et annet sett med data kalt parametere.
hver enkelt C++ programmet har minst én funksjon, main() funksjonen. Du kan dele koden inn i forskjellige funksjoner. Denne inndelingen bør være slik at hver funksjon utfører en spesifikk oppgave.
Det er mange innebygde funksjoner i C++ standard bibliotek. Du kan kalle disse funksjonene i programmet ditt.
Hvorfor bruke funksjoner?
Det er mange fordeler forbundet med bruk av funksjoner. Disse inkluderer:
- Hver funksjon setter relatert kode sammen. Dette gjør det lettere for programmerere å forstå kode.
- Funksjoner gjør programmering enklere ved å eliminere koderepetisjon.
- Funksjoner forenkler kodegjenbruk. Du kan kalle den samme funksjonen for å utføre en oppgave i forskjellige deler av programmet eller til og med utenfor programmet.
Innebygde funksjoner
In C++ bibliotekfunksjoner er innebygd C++ funksjoner. For å bruke disse funksjonene, kaller du dem bare direkte. Du trenger ikke skrive funksjonene selv.
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; }
Utgang:
Her er et skjermbilde av koden:
Kodeforklaring:
- Inkluder iostream-headerfilen i programmet vårt for å bruke funksjonene.
- Inkluder cmath-biblioteket for å bruke funksjonene. Vi ønsker å bruke funksjonen sqrt() definert i den.
- Inkluder std-navneområdet i koden vår for å bruke klassene uten å kalle det.
- Kalle hoved()-funksjonen. Programlogikken skal legges til i hoveddelen av denne funksjonen.
- Deklarer to doble variable, num og kvadratrot.
- Skriv ut litt tekst på konsollen. Teksten ber brukeren skrive inn et tall.
- Les brukerinndata fra tastaturet. Inndata vil bli verdien av variabel num.
- Kall bibliotekfunksjonen sqrt(), som beregner kvadratroten av et tall. Vi ga parameteren num til funksjonen, noe som betyr at den vil beregne kvadratroten av num. Denne funksjonen er definert i cmath-biblioteket.
- Skriv ut nummeret som er angitt av brukeren, kvadratroten og annen tekst på konsollen.
- Programmet må returnere verdi ved vellykket gjennomføring.
- Slutten av hoveddelen av hoved()-funksjonen.
Brukerdefinerte funksjoner
C++ lar programmerere definere sine egne funksjoner. Hensikten med funksjonen er å gruppere relatert kode. Koden får da en unik identifikator, funksjonsnavnet.
Funksjonen kan kalles/påkalles fra en hvilken som helst annen del av programmet. Den vil deretter utføre koden som er definert i kroppen.
Eksempel 2:
#include <iostream> using namespace std; void sayHello() { cout << "Hello!"; } int main() { sayHello(); return 0; }
Utgang:
Her er et skjermbilde av koden:
Kodeforklaring:
- Inkluder iostream-headerfilen i programmet vårt for å bruke funksjonene.
- Inkluder std-navneområdet i koden vår for å bruke klassene uten å kalle det.
- Lag en brukerdefinert funksjon kalt sayHello().
- Skriv ut litt tekst på konsollen når sayHello()-funksjonen kalles.
- Slutten av brødteksten til sayHello()-funksjonen.
- Kalle hoved()-funksjonen. Programlogikken skal legges til i hoveddelen av denne funksjonen.
- Kalle/påkall funksjonen kalt sayHello().
- Programmet må returnere verdi ved vellykket gjennomføring.
- Slutten av hoveddelen av hoved()-funksjonen.
Funksjonserklæring/prototype
Hvis du definerer en brukerdefinert funksjon etter hoved()-funksjonen, vil C++ kompilatoren vil returnere en feil. Årsaken er at kompilatoren ikke kjenner detaljene til den brukerdefinerte funksjonen. Detaljene inkluderer navnet, typene argumenter og returtypene deres.
In C++, erklærer funksjonserklæringen/prototypen en funksjon uten kropp. Dette gir kompilatoren detaljer om den brukerdefinerte funksjonen.
I deklarasjonen/prototypen inkluderer vi returtypen, funksjonsnavnet og argumenttypene. Navnene på argumentene er ikke lagt til. Men å legge til argumentnavnene genererer ingen feil.
Funksjonsdefinisjon
Formålet med funksjonserklæringen er å fortelle C++ kompilator om funksjonsnavnet, returtypen og parametere. En funksjonsdefinisjon forteller C++ kompilator om funksjonskroppen.
syntax
return_datatype function_name( parameters) { function body }
Fra ovenstående har en funksjonsdefinisjon funksjonens overskrift og brødtekst. Her er en forklaring av parametrene:
- return_datatype- Noen funksjoner returnerer verdi. Denne parameteren angir datatypen til returverdien. Noen funksjoner returnerer ikke verdi. I så fall blir verdien av denne parameteren ugyldig.
- funksjonsnavn- Dette er navnet på funksjonen. Funksjonsnavnet og parameterne danner funksjonssignaturen.
- Parametre- Dette er typen, rekkefølgen og antall funksjonsparametere. Noen funksjoner har ikke parametere.
- funksjonskropp - dette er utsagn som definerer hva funksjonen skal gjøre.
Funksjonsanrop
For at en funksjon skal utføre den angitte oppgaven og returnere utdata, må den kalles. Når du kaller en funksjon, utfører den setningene som er lagt til i kroppen.
Et program kalles ved sitt navn. Hvis funksjonen tar parametere, bør verdiene sendes under samtalen. Hvis tjenesten ikke tar noen parametere, må du ikke sende noen verdi under samtalen.
Beståtte argumenter
In C++, et argument/parameter er dataene som sendes til en funksjon under kallet. Verdiene må initialiseres til sine respektive variabler.
Når du kaller en funksjon, må argumentene samsvare i antall. Det betyr at verdiene du sender må være lik antall parametere. Igjen må verdiene også samsvare med parameterne når det gjelder type. Hvis den første parameteren er et heltall, må verdien som sendes til den være et heltall.
Man kan tilordne standardverdier til funksjonsparametere. Hvis du ikke sender inn en verdi for parameteren under funksjonskallet, vil standardverdien bli brukt.
Eksempel 3: Hvordan skrive og kalle en funksjon
#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; }
Utgang:
Her er et skjermbilde av koden:
Kodeforklaring:
- Inkluder iostream-headerfilen i programmet vårt for å bruke funksjonene.
- Inkluder std-navneområdet i koden vår for å bruke klassene uten å kalle det.
- Deklarer en funksjon kalt addFunc() som tar to heltallsparametere. Dette skaper funksjonsprototypen.
- Kalle hoved()-funksjonen. Programlogikken skal legges til i hoveddelen av denne funksjonen.
- Deklarer tre heltallsvariabler, x, y og sum.
- Skriv ut litt tekst på konsollen. Teksten ber brukeren skrive inn to tall.
- Les brukerinndataene fra tastaturet. Brukeren skal angi to tall for variablene x og y, atskilt med mellomrom.
- Kall funksjonen addFunc() og send parameterne x og y til den. Funksjonen vil operere på disse parameterne og tilordne utgangen til den variable summen.
- Skriv ut verdiene til variablene x, y og sum på konsollen sammen med annen tekst.
- Funksjonen må returnere verdi ved vellykket fullføring.
- Slutten av hoveddelen av hoved()-funksjonen.
- Funksjonsdefinisjon. Vi definerer funksjonen addFunc(). Vi vil angi hva funksjonen vil gjøre i kroppen sin, { }.
- Erklære en heltallsvariabel kalt addFunc.
- Legge til verdiene til parameterne num1 og num2 og tilordne resultatet til variabelen addFunc.
- AddFunc()-funksjonen skal returnere verdien til addFunc-variabelen.
- Slutt på funksjonskroppen, det vil si funksjonsdefinisjon.
Sammendrag
- En funksjon i C++ hjelper deg å gruppere relatert kode i en.
- Funksjoner forenkler kodegjenbruk.
- I stedet for å skrive lignende kode, igjen og igjen, grupperer du den ganske enkelt i en funksjon. Du kan deretter ringe opp funksjonen fra hvor som helst i koden.
- Funksjoner kan være bibliotek eller brukerdefinerte.
- Bibliotek funksjoner er funksjonene innebygd ulike C++ funksjoner.
- For å bruke bibliotekfunksjoner inkluderer du ganske enkelt definisjonsbiblioteket og kaller opp funksjonen. Du definerer ikke funksjonen.
- Brukerdefinerte funksjoner er funksjonene du definerer som en C++ Programmerer.
- En funksjonserklæring forteller kompilatoren om funksjonsnavnet, returtypen og parametertypene.
- En funksjonsdefinisjon legger til kroppen til funksjonen.
- Hvis en funksjon tar parametere, bør verdiene sendes under funksjonskallet.