Facilități prietenoase

FUNCȚII PRIETENTE ___________________________________________________________ 1

Funcții prietenoase unei clase ____________________________________________________ 1 Funcții care sunt prietenoase cu mai multe clase ________________________________________________ 3 Funcții ale membrilor care sunt prietenoase cu o altă clasă _____________________________________________ 4







CURSURI DE PRIETENI ____________________________________________________________ 5

Spune-mi cine e prietenul tău și îți spun cine are acces la datele tale private.

Conceptul de încapsulare a datelor este unul dintre conceptele fundamentale ale POR. C ++ oferă o oportunitate de a ocoli acest concept cu ajutorul unor funcții prietenoase. Cu toate acestea, nu merită să o utilizați fără un motiv bun. C ++ vă permite să declarați două tipuri de prieteni de clasă: o funcție prietenoasă sau o clasă prietenoasă.

Funcții prietenoase unei clase

Modul obișnuit de a accesa membrii particulari ai unei clase este acela de a utiliza o funcție deschisă a membrilor. Totuși, C ++ suportă și un alt mod de a accesa membrii particulari ai clasei - folosind funcții prietenoase. Funcțiile prietenoase nu fac parte din clasă, ci au acces la membrii săi privați. În plus, o astfel de funcție poate avea acces la membrii privați ai mai multor clase.

Pentru a declara o funcție prietenoasă unei anumite clase, definiția acestei clase include prototipul ei, înaintea căruia este pus cuvântul cheie prieten. Să dăm un exemplu:

// tipărește numele și coordonatele punctului curent pe ecranul void Print () const;

// returnează distanța dintre punctele curente și cele specificate duble Dist (Dot B) const;

// returnează distanța dintre două puncte specificate







prieten dublu Dist (const Dot A. const Dot B);

// returnează distanța dintre două puncte specificate

Distribuția dublă (Dot * pA, Dot * pB); // funcția primește indicii // returnează valoarea zonei triunghiului cu vârfuri date

zonă dublă (const Dot A. const Dot B. const Dot C);

dublu Dot. Dist (Dot B) const

Fișierul Dot.cpp

Punctul A ("A", 3, 4). B ("B", -3.4); Dot C ("C");

CharToOem ("Lungimea liniei", S);

cout<



Articole similare

Trimiteți-le prietenilor: