Friend function e membri privati

di il
2 risposte

Friend function e membri privati

Nonostante abbia dichiarato una funzione ostream per sovraccaricare l'operatore <<, quando tento di accedere ai membri privati di una classe riscontro il seguente errore:
error: 'std::string std::freni::marca' is private
..\src\componenti\freni.cpp:23:10: error: within this context
class freni {
friend ostream & operator <<(ostream &,const freni&);
public:
	freni(string &,string&);
	string getMarca()const;
	string getTipo()const;

private:
	string marca;
	string tipo;

};
nel cpp:
freni::freni(string & casa, string & tip):marca(casa),tipo(tip)
{
cout<<"Freno costruito";
}


string freni::getMarca()const{
	return marca;
}


string freni::getTipo()const {
	return tipo;
}


ostream & operator <<(ostream &out, const freni &f1){
	out<<f1.marca<<" "<<f1.tipo;
	return out;
}
volevo evitare di usare le funzioni getTipo e getMarca per stampare marca e tipo

2 Risposte

Devi accedere o registrarti per scrivere nel forum
2 risposte