Habrá momentos en los que se quiera que una función tenga acceso a los miembros privados de una clase sin que esa función sea realmente un miembro de esa clase. De cara a esto están las funciones amigas. Son útiles para la sobrecarga de operadores y la creación de ciertos tipos de funciones E/S.
El prototipo de esta funciones viene precedido por la palabra clave friend, cuando se desarrolla la función no es necesario incluir friend. Una función amiga no es miembro y no se puede calificar mediante un nombre de objeto. Estas funciones no se heredan y pueden ser amigas de más de una clase.
PROTOTIPO:
friend tipo_devuelto nombre(parametros);
DESARROLLO:
tipo_devuelto nombre(parametros){
cuerpo;
}
EJEMPLO:
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
class miclase{
int n,d;
public:
miclase(int i, int j){n=i;d=j;}
friend int factor(miclase ob);
};
int factor(miclase ob)
{
if (!(ob.n%ob.d))
return 1;
else
return 0;
}
void main()
{
miclase obj1(10,2), obj2(3,2);
if(factor(obj1))
cout << "es factor";
else
cout << "no es factor";
getch();
}
1. Introducción al Lenguaje C El lenguaje C apareció en 1972, en el diseño del sistema operativo UNIX. Este... [10/05/04] |
73.701 | ||||
2. Guía de Comandos Rápidos de Linux Linux es la principal expresión del software libre. Linux ofrece al usuario la... [14/06/04] |
22.018 | ||||
3. Action Script 3. Lenguaje de programación Action script 3 . Este curso de informática fue realizado especialmente para las... [04/05/11] |
274 |
![]() |