Differences

This shows you the differences between two versions of the page.

Link to this comparison view

poo-is-ab:laboratoare:05 [2025/10/31 09:16]
razvan.cristea0106 [Supraîncărcarea operatorilor]
poo-is-ab:laboratoare:05 [2025/11/01 11:58] (current)
razvan.cristea0106 [Supraîncărcarea operatorilor]
Line 56: Line 56:
 În C++ funcțiile **friend** sunt acele funcții care au aces la zona **privată** a clasei, dar și la cea **protected**. Deși o funcție friend strică **principiul încapsulării datelor**, trebuie menționat că acest lucru este controlat. ​ În C++ funcțiile **friend** sunt acele funcții care au aces la zona **privată** a clasei, dar și la cea **protected**. Deși o funcție friend strică **principiul încapsulării datelor**, trebuie menționat că acest lucru este controlat. ​
  
-<note tip>​Pentru a înțelege mai bine rolul **funcțiilor friend**, putem privi lucrurile astfel: fiecare dintre noi are un set de gânduri și sentimente care sunt **private**,​ **inaccesibile** celorlalți. Totuși, ca ființe sociale, avem prieteni cărora alegem să le împărtășim o parte din aceste gânduri. Deși prietenii noștri **au acces** la informații personale, acest lucru **nu** înseamnă că oricine le poate vedea. **Noi** suntem cei care **deținem controlul total** asupra a ceea ce **dezvăluim** și **cui**.</​note>​+<note tip>​Pentru a înțelege mai bine rolul **funcțiilor friend**, putem privi lucrurile astfel: fiecare dintre noi are un set de gânduri și sentimente care sunt **private**,​ **inaccesibile** celorlalți. Totuși, ca ființe sociale, avem prieteni cărora alegem să le împărtășim o parte din aceste gânduri. Deși prietenii noștri **au acces** la informații personale, acest lucru **nu** înseamnă că oricine le poate vedea. **Noi** suntem cei care **deținem controlul total** asupra a ceea ce **dezvăluim** și mai ales **cui**.</​note>​
  
 Pentru a declara o funcție de tip **friend**, folosim cuvântul cheie **friend**. Aceste funcții sunt declarate în interiorul clasei și au cuvântul cheie **friend** plasat **înaintea tipului de return** al funcției. Pentru a declara o funcție de tip **friend**, folosim cuvântul cheie **friend**. Aceste funcții sunt declarate în interiorul clasei și au cuvântul cheie **friend** plasat **înaintea tipului de return** al funcției.
Line 346: Line 346:
 { {
     return this->​real != z.real || this->​imaginar != z.imaginar;     return this->​real != z.real || this->​imaginar != z.imaginar;
 +    /*return !(*this == z) // o varianta mai eleganta de a nega rezultatul intors de operatorul == pentru a nu duplica codul*/
 } }
 </​code>​ </​code>​
Line 551: Line 552:
 } }
  
-ostream&​ operator<<​(std::​ostream&​ out, const NrComplex&​ z)+std::ostream&​ operator<<​(std::​ostream&​ out, const NrComplex&​ z)
 { {
     out << "​Partea reala a numarului complex este: " << z.real << '​\n';​     out << "​Partea reala a numarului complex este: " << z.real << '​\n';​
poo-is-ab/laboratoare/05.1761894996.txt.gz · Last modified: 2025/10/31 09:16 by razvan.cristea0106
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0