20. januar 2005 - 11:32
Der er
4 kommentarer
Hvordan virker funktioner?
Hej!
Jeg er i øjeblikket i gang med at hitte ud af funktioner.
Desværre synes jeg ikke de bøger med eksempler jeg har, er særlige forståelige.
Er der nogle i dette forum der kan vise et eksempel på en forståelig funktion!
På forhånd tak!
20. januar 2005 - 11:40
#2
#include <iostream>
F.eks:
using namespace std;
int max(int p, int q)
{
if(p>=q)
return p;
else
return q;
}
int main()
{
cout << max(2, 4) << endl;
cout << max(4, 2) << endl;
cout << max(-2, -4) << endl;
cout << max(-4, -2) << endl;
return 0;
}
Output:
4
4
-2
-2
23. januar 2005 - 05:41
#4
Funktioner siger du? dem havde jeg også lidt problemmer med at finde ud af i starten.
her er et eksempel på en funktion:
int plus(int a, int b)
{
int c=0; //lav en extra variabel, husk at disse kun kan bruges i funktionen.
// Du kan ikke lave kald til dem uden for funktionen
c=a+b; // plus a og b og gem resultatet i c
return(c) //send c indholdet tilbage
}
de først par bogstaver er hvilken type output funktionen sender tilbage, bare skriv variabel typen du vil have funktionen til at sende tilbage.
Derefter skriv navnet som du vil give din funktion, jeg har kaldt denn funktion plus, fordi den plusser 2 tal og sender resultatet tilbage.
Inde i () skriver du de parametere du vil have funktionen til at tage, her har jeg skrevet 2 int variabler. Du kan selvfølgelig også sende objects og strings de andre variable typer.
Inde i funktionen laver jeg en variabel int til at holde resultatet. Som skrevet i code kommentarne virker diess variable kun i funktionen, du kan ikke bruge dem andre steder de er kun "lokale".
Den næste linje laver noget simpelt matmatik, den plusser a og b og gemmer resultatet i c.
Den næste linje sender c tilbage med return();
du kan bruge denne funktion sådan her:
#include <iostream>
using namespace std;
int plus(int a, int b); //dette er en prototype, som gør du kan skrive funktionen
// senere i din code (under int main() fx.)
int main()
{
int resultat=0; // til at holde resultatet af funktionen
resultat = plus(7,13); // nu holder resultat variablen 20. inde i funktionen blev
// 7 brugt som a, og 13 b.
cout << resultat << endl; // skriv indholdet af resultat på skærmen
return 0;
}
fordelen ved en funktion er at den gør man ikke skal skrive code igen og igen for de samme opgave, hvilket er ret nice :) Enjoy :D