C++:
#include <iostream>
using namespace std;
class Punto
{
public:
int x;
int y;
Punto(void);
void StampaDati(void);
private:
int colore;
friend void CambiaColore(int);
};
Punto::Punto(void)
{
x=0;
y=0;
colore=0;
}
void Punto::StampaDati(void)
{
cout<<"Ascisse:"<<x<<endl;
cout<<"Ordinata:"<<y<<endl;
cout<<"Colore:"<<colore<<endl;
}
void CambiaColore(int c)
{
Punto P;
P.colore = c;
P.StampaDati();
}
//errore fatale in p.colore = 3 is private within this context
int main()
{
cout << "Le funzioni amiche :)" << endl;
Punto P;
P.colore = 3;
P.StampaDati();
return 0;
}
Osservando questo codice si nota subito che c'è un errore e purtroppo non so come risolverlo. Sicuramente sarà una banalità ma non ho ancora le capacità per arrivarci da solo.
chiedo a voi l' aiuto.