Diferència entre la funció d’amic i la classe d’amic
Content
La funció d’amic i la classe d’amic són les tècniques que s’utilitzen per accedir als membres privats d’una classe mitjançant la paraula clau d’amic. La diferència comuna entre la funció amiga i la classe amiga és que quan s’utilitza la funció d’amic es pot accedir als membres de la classe privada, però a la classe d’amics, només s’accedeix als noms de la classe amiga i no als membres privats de la classe.
El funció d'amic tant si s'utilitza per funció com per classe, pot produir un impacte negatiu en el marc orientat a l'objecte, ja que es debilita encapsulació que està en contra de orientat a objectes paradigma. Aquesta és la raó per la qual s'ha d'utilitzar de forma sàvia la característica amiga, altrament no ho podria ser trencar el amagada de dades del codi.
Aquesta funció amiga tampoc és commutativa i tampoc transitiva. X és amic de Y no dedueix que Y també és amic de X. Si X és amic de Y i Y és amic de Z, no implica que X sigui amic de Z.
-
- Gràfic de comparació
- Definició
- Diferències claus
- Conclusió
Gràfic de comparació
Bases per a la comparació | Funció Amic | Classe Amic |
---|---|---|
Bàsic | És una funció usada amb una paraula clau d’amic per concedir a una funció que no és membre els membres privats d’una classe. | És una classe utilitzada amb una paraula clau d’amic per accedir als membres privats d’una altra classe. |
Declaració endavant | S'ha de fer servir. | No és obligatori. |
Utilitzeu | Una funció amiga es pot utilitzar en algunes situacions de sobrecàrrega de l’operador. | Es pot utilitzar una classe d’amic quan es crea una classe a la part superior d’una altra classe. |
Definició de Funció Amiga
El funció d’amic s'utilitza per accedir als membres privats i protegits d'una classe, permetent que la funció que no sigui membre tingui accés. En aquest tipus de funcions, s'utilitza una paraula clau amiga abans del nom de la funció en el moment de la declaració. Hi ha algunes condicions restrictives aplicades a la funció d’amic. La primera condició és que la funció d’amic no sigui heretada per una classe infantil. La segona condició és que el especificador de la classe d’emmagatzematge pot no estar present a la funció d’amic, cosa que significa que no es pot declarar estàtic i extern.
La funció amiga no es diu amb un objecte invocant de la classe. Els exemples de funció d’amic són: una funció global, la funció de membre d’una classe, la plantilla de funcions pot ser una funció d’amic. Ho entenem amb l'ajuda d'un exemple.
#incloure És necessària una funció amiga quan una funció necessita accedir a dues o més classes independents, membres interns. D’altra banda, es necessita una classe d’amics quan una classe requereix accedir als membres d’una altra classe. Quan una funció de diversos membres ha de ser amiga d’aquesta funció, en aquest cas, és millor utilitzar la classe d’amics.
Conclusió