Documentos de Académico
Documentos de Profesional
Documentos de Cultura
En C++ seguimos pudiendo definir funciones independientes fuera de una clase pero no es
conveniente para una buena organización de nuestro código.
En algunas situaciones puede ser conveniente definir una función independiente pero que tenga
acceso a los atributos privados y protegidos de una clase, esto se logra con las funciones amiga
(friend)
Para definir una función amiga debemos anteceder la palabra clave friend y cuando la llamamos
como realmente no pertenece a la clase sino que es amiga la invocamos por su nombre y no
antecedemos un nombre de objeto.
1.- Una función amiga permite el acceso a todos los miembros de la clase desde la función principal
2.- Una función amiga se declara en la sección publica de la clase y considera como parámetro un
objeto de la clase a la cual se quiere tener acceso
SINTAXIS
class nombre
{
private:
miembros;
protected:
miembros;
public:
miembros;
fiend tipo NomFun(NomClase NomObj)
{acción}
int main ()
{
nombre obj;
NomFun(obj);
}
#include<iostream>
#include<conio.h>
using namespace std;
class cuadrado
{
void leer (string texto);
float a,p,l;
public:
void area(void);
void perimetro (void);
void imprime (string texto1, string texto2);
void leer_p (string texto);
friend class circulo;
};
class circulo
{
public:
cuadrado L;
void figura1 (void)
{
L.leer_p("Lado: ");
L.area();
L.perimetro();
L.imprime("\n Area: ","\n Perimetro: ");
}
};
int main ()
{
circulo c;
c.figura1();
return 0;
}
void cuadrado::leer(string texto)
{
cout<<texto; cin>>l;
}
void cuadrado :: area (void)
{ a=l*l;} // es ele, es lado por lado
{
cout <<texto1<<a;
cout<<texto2<<p;
}
void cuadrado::leer_p(string texto)
{leer(texto); }
Diseñar un programa en C++ que mediante una función amiga de nombre información, calcule e
imprima el promedio de edad y el porcentaje de hombres y mujeres que hay en un recinto.
La clase de nombre teatro (que contiene la función amiga información) se construye, para sumar la
cantidad de dinero recopilado de 18 personas que asistieron a la obra, a partir de los siguientes
miembros:
1.- Atributos privados: suma, *genero, *edad, *costo (apuntadores para administrar memoria)
2.- Métodos públicos:
Declare en la función principal el objeto teatro. Utilice los métodos del objeto para su implementación
y llame a la función información