Programare Orientată Obiect
Funcții friend
O funcție friend are acces la membrii private și protected ai unei clase, deși nu este membră a ei.
class Cerc {
private:
double raza;
public:
Cerc(double r) : raza(r) {}
friend double arie(const Cerc& c); // declarație friend
};
double arie(const Cerc& c) {
return 3.14159 * c.raza * c.raza; // accesează private!
}
Cerc c(5);
cout << arie(c) << endl; // 78.54Funcțiile
friend nu sunt membre ale clasei — nu se apelează cu .. Folosiți cu moderație, deoarece reduc encapsularea.