Funciones amigas
Una función amiga es una función no miembro de una clase que puede tener acceso a las partes privadas de una clase; se debe declarar como amiga de la clase mediante la palabra reservada friend.
Las funciones amigas se declaran situando su prototipo de función en la clase de la que son amiga precediéndola con la palabra reservada friend. Por ejemplo:
class cosa
{
int datos;
public:
friend void cargar (cosa& t, int x);
};
void cargar(cosa& t, int x)
{
t.datos=x;
}
Como la función cargar se declara amiga de la clase cosa puede acceder al miembro privado datos.
Las razones fundamentales para utilizar funciones amigas es que algunas funciones necesitan acceso privilegiado a más de una clase. Una segunda razón es que las funciones amigas pasan todos sus argumentos a través de la lista de argumentos y cada valor de argumento se somete a la conversión de asignación.
Clases amigas
No sólo puede ser una función, amiga de una clase, también una clase completa puede ser amiga de otra clase. En este caso todas las funciones de la clase amiga pueden acceder a las partes privadas de la otra clase.
Una clase amiga puede ser declarada antes de que pueda ser designada como amiga.
class animales;
class hombre
{
public:
friend class animales;
};
class animales
{//..
};
Cada función miembro de animales es amiga de la clase hombre. La designación de un amigo puede estar en una sección private o public de una clase.
Hay 454 opiniones. Opina sobre este curso.
| Cursos | Valoración | Alumnos | Vídeo | |
|---|---|---|---|---|
|
Funciones en C (primera parte) Curso de programacíon informática sobre Funciones en C en el orden de los fundamentos de la programación. Comprende el desarrollo de un software utilizando funciones y a ... [17/10/08] |
|
2.816 | ||
|
C# Curso de Programación Curso Básico de programación en C#, este curso básico abarcará desde las bases del lenguaje hasta nuestros primeros pasos con aplicaciones web, acceso a bases de datos de... [14/07/05] |
|
8.486 | ||
|
Informática. Desarrollo científico del ordenador Ordenador, ciencia e informática son las claves de este curso. Conoce el desarrollo científico que hay detrás de una computadora u ordenado... [10/07/09] |
|
4.375 | ||
Publicar en
del.icio.us
digg
meneame