Ciao a tutti ragazzi
mi potete spiegare perchè per assegnare un valore ad una variabile si usa questo modo?
non capisco perchè nel prototipo si scrive
codice:
#include <iostream>
using namespace std;
class conto{
friend void impostax(conto &, int); //dichiarazione di funzione friend perchè si scrive così? con &
public:
conto(){x=0;} //costruttore
void stampa()const { cout<<x<<endl; }
private:
int x; //dato membro
};
void impostax (conto &c, int val) qui sta il problema: perchè si scrive così &c? cosa si sta facendo?
//può modificare il dato private di conto, poichè impostax
//è dichiarata funzione friend di conto
{
c.x=val; qui accedo alla x, ma perchè metto .c?
}
int main()
{ conto contatore;
cout<<"contatore.x dopo aver istanziato : ";
contatore.stampa();
cout<<"contatore.x dopo aver chiamato impostax :";
impostax (contatore, 8 ); qui do valore 8 a val, e poi contatore?
contatore.stampa();
return 0;
}