Al pasar un parámetro por valor, se envía una copia del dato a la función, lo cual no afecta el dato original. Al pasar un parámetro por referencia, la función trabaja directamente sobre la ubicación en memoria del dato original, permitiendo modificarlo.
Por Valor significa una copia de la variable.
Por Referencia significa la variable misma.
#include <iostream>
using namespace std;
void prcdre(string chain){
chain = "Hallo";
cout << "Dentro del procedimiento: " << chain;
cout << endl;
}
main(){
string chain = "Hola";
prcdre(chain);
cout << "Dentro del principal: " << chain;
}
#include <iostream>
using namespace std;
void prcdre(string &lilchain){
lilchain = "Hallo";
cout << "Dentro del procedimiento: " << lilchain;
cout << endl;
}
main(){
string chain = "Hola";
prcdre(chain);
cout << "Dentro del principal: " << chain;
}
En el paso por referencia los cambios hechos a la variable son definitivos.
Hacer un programa que mande una calificación a una función y que devuelva el tipo de letra correspondiente:
De 0 60 devolverá C
De 61 a 80 devolverá B
de 81 a 100 devolverá A
#include <iostream>
using namespace std;
char prcdre (int note);
main(){
int note;
cout << "Ingrese una nota: ";
cin >> note;
if(prcdre(note) == 'X')
cout << "Calificacion invalida! ";
else
cout << "Su calificacion es: " << prcdre(note);
}
char prcdre (int note){
if(note >= 0 && note < 61){
return 'C';
}
else if(note >= 61 && note < 81){
return 'B';
}
else if(note >= 81 && note <= 100){
return 'A';
}
else{
return 'X';
}
}