Una funció/acció pot o no rebre paràmetres per executar les seves instruccions. En l’exemple anterior, l’acció salutacio() no necessita cap paràmetre per executar-se. Però en canvi, haguéssim pogut passar els dos nombres a la funció d’aquesta manera:
void suma(int a, int b);
void main()
{
int a;
int b;
cout<<"a: "; cin>>a;
cout<<"b: "; cin>>b;
suma(a, b);
}
void suma(int a, int b)
{
int resultat;
resultat=a+b;
}
I d’això és diu pas de paràmetres per valor i això vol dir que quan el control passa a la funció, els valors del paràmetres de la crida es copien a “variables” locals de la funció i per tant no queden alterades al sortir de la funció.
També es poden passar valors per referència, on les instruccions de la funció operen directament amb els arguments que se’ls hi passa i per tant els canvis que s’hi facin sobre les dades persistiran després de l’execució de a funció. Ho veurem millor amb un altre exemple:
També es poden passar valors per referència, on les instruccions de la funció operen directament amb els arguments que se’ls hi passa i per tant els canvis que s’hi facin sobre les dades persistiran després de l’execució de a funció. Ho veurem millor amb un altre exemple:
void funcio(int n, int m);
void main()
{
int a=10;
int b=20;
}
void funcio(int n, int m)
{
n=n+5;
m=m+5;
}
void funcio(int &n, int &m);
void main()
{
int a=10;
int b=20;
funcio(a, b);
}
void funcio(int &n, int &m)
{
n=n+5;
m=m+5;
}

Cap comentari:
Publica un comentari a l'entrada