funciones amigas

Páginas: 2 (403 palabras) Publicado: 21 de octubre de 2013
Sistema de protección
Ya sabemos que los miembros privados de una clase no son accesibles para funciones y clases exteriores a dicha clase. Esto es un concepto de POO, el encapsulamiento hace quecada objeto se comporte de un modo autónomo y que lo que pase en su interior sea invisible para el resto de objetos. Cada objeto sólo responde a ciertos mensajes y proporciona determinadas salidas.Pero, en ciertas ocasiones, querremos poder acceder a determinados miembros privados de un objeto de una clase desde otros objetos de clases diferentes. C++ proporciona un mecanismo para sortear elsistema de protección. En otros capítulos veremos la utilidad de esta técnica, de momento sólo explicaremos en qué consiste.

Declaraciones friend
El modificador "friend" puede aplicarse a clases ofunciones para inhibir el sistema de protección.
Las relaciones de "amistad" entre clases son parecidas a las amistades entre personas:
La amistad no puede transferirse, si A es amigo de B, y B esamigo de C, esto no implica que A sea amigo de C. (La famosa frase: "los amigos de mis amigos son mis amigos", es falsa en C++, y probablemente también en la vida real).
La amistad no puede heredarse.Si A es amigo de B, y C es una clase derivada de B, A no es amigo de C. (Los hijos de mis amigos, no tienen por qué ser amigos míos. De nuevo, el símil es casi perfecto).
La amistad no es simétrica.Si A es amigo de B, B no tiene por qué ser amigo de A. (En la vida real, una situación como esta hará peligrar la amistad de A con B, pero me temo que en realidad, se trata de una situación muyfrecuente).
Funciones externas amigas
El caso más sencillo es el de una relación de amistad con una función externa.
Veamos un ejemplo muy sencillo:
Como puedes ver, la función "Ver", que nopertenece a la clase A puede acceder al miembro privado de A y visualizarlo. Incluso podría modificarlo.
No parece que sea muy útil, ¿verdad?. Bueno, seguro que en alguna ocasión tiene aplicaciones...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Amigas
  • amigas
  • Amigas
  • amigos
  • amigos
  • amigo
  • Amigos
  • Amigos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS