Classi e Funzioni friend

  • Esiste un modo per aggirare le classi di protezione dichiarate.
  • In una classe si possono dichiarare funzioni o classi friend
  • Una funzione friend è una funzione, non un metodo, vale a dire è dichiarata al di fuori di ogni classe
  • Una funzione friend di una classe può agire su tutti i membri della classe, come se fosse essa stessa un membro della classe
  • Naturalmente, come i metodi static, non possiede un puntatore this, quindi non può accedere agli attributi di un oggetto in maniera diretta, ma solo agli attributi static
  • Se però la funzione possiede un oggetto o un puntatore ad un oggetto del classe, sarà in grado di accedere a tutti i membri di quegli oggetti, sia che siano private, protected o public, come qualunque membro della classe
  • Per dichiarare una funzione friend, inseriremo nella dichiarazione della classe, il prototipo della funzione, preceduto dalla parola riservata friend

© Ing. Stefano Salvi - All rights reserved