Funciones_amigas

Páginas: 2 (305 palabras) Publicado: 2 de noviembre de 2015
UNMSM – Facultad de Ingeniería Industrial
Algoritmos y Programación

FUNCIONES AMIGAS
-

Una función amiga es una función que sin ser función miembro, tiene acceso a los datos
miembro de laclase.
Se les reconoce por llevar antepuesto a su nombre la palabra friend.
Admiten como parámetros objetos de la clase de la que son amigas.
Se les declara dentro de la clase

Ejemplo dePrograma Orientado a Objetos con funciones amigas
#include
#include
#include
using namespace std;
class vector
{
private:
int x;
int y;
int z;
public:
vector();vector(int a,int b,int c);
~vector();
void ingresar();
void imprimir();
float modulo();
friend int prodescalar( vector v1, vector v2 );
friend vector suma( vector v1, vector v2 );
};vector::vector()
{
x = 0;
y = 0;
z = 0;
}
vector::vector( int a, int b, int c )
{
x = a;
y = b;
z = c;
}

Mag. Hilmar Hinojosa Lazo

1

UNMSM – Facultad de Ingeniería Industrial
Algoritmos yProgramación

vector::~vector()
{
}
void vector::ingresar()
{
cout<<"Ingrese componentes: ";
cin>>x>>y>>z;
}
void vector::imprimir()
{
cout<<"( "< }
floatvector::modulo()
{
return sqrt( x*x + y*y + z*z );
}
int prodescalar(vector v1,vector v2)
{
return v1.x*v2.x + v1.y*v2.y + v1.z*v2.z;
}
vector suma( vector v1, vector v2 )
{
vector v3;
v3.x = v1.x +v2.x;
v3.y = v1.y + v2.y;
v3.z = v1.z + v2.z;
return v3;
}
int main()
{
vector vec1(3,8,7), vec2, vec3;
int pe;
cout<<"Vector vec1"< cout<<"vec1 = ";
vec1.imprimir();
cout< vec2.ingresar();
pe = prodescalar(vec1,vec2);
cout<<"El producto escalar es "< vec3 = suma(vec1,vec2);

Mag. Hilmar Hinojosa Lazo

2

UNMSM – Facultad deIngeniería Industrial
Algoritmos y Programación

cout<<"Vector vec3 = vec1 + vec2"< cout<<"vec3 = ";
vec3.imprimir();
cout< system("PAUSE");
return 0;
}

Mag. Hilmar Hinojosa Lazo

3

Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS