12.170 cursos gratis
8.776.092 alumnos
Facebook Twitter YouTube
Busca cursos gratis:

Programación en C++

Autor: Josue Diaz Cuenca
Curso:
8,89/10 (458 opiniones) |69596 alumnos|Fecha publicación: 04/06/2004

Capítulo 24:

 Funciones amigas

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.

Capítulo anterior - Destructores

Nuestras novedades en tu e-mail

Escribe tu e-mail:



MailxMail tratará tus datos para realizar acciones promocionales (vía email y/o teléfono).
En la política de privacidad conocerás tu derechos y gestionarás la baja.

Cursos similares a Programación en C++



  • Vídeo
  • Alumnos
  • Valoración
  • Cursos
1. C# Curso de Programación
Curso Básico de programación en C#, este curso básico abarcará desde las bases del... [14/07/05]
15.672  
2. Programación estructurada
Este curso les ayudará a tener conceptos básicos de la programación. Estos... [25/04/07]
3.025  
3. Programación estructurada (primera parte)
Aprende, en el mundo de la informática, la programación estructurada: en qué... [16/10/08]
4.454  

¿Qué es mailxmail.com?|ISSN: 1699-4914|Ayuda
Publicidad|Condiciones legales de mailxmail