Olion attribuutin osoitteen tai referenssin palauttaminen (erityisesti private-attribuutin) ystäväfunktion arvona on kuitenkin huonoa ohjelmointia ja on tiedon suojaamista vastaan:
// HUONO:
int &x_koord(cPiste &p)
{
return p.x;
}
...
cPiste p;
x_koord(p) = 5;Tilanne
paranee huomattavasti jos palautustyypiksi esitellään vakio
referenssi:
const int &x_koord(cPiste &p)
{
return p.x;
}
...
cPiste p;
// x_koord(p) = 5; // Ei ole enää sallittu!