Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/07/2008, 07:48
Rapidiablo
 
Fecha de Ingreso: febrero-2008
Mensajes: 42
Antigüedad: 16 años, 3 meses
Puntos: 0
operador de sobre carga

Gente tengo un problema con los operadores de sobre carga. Y la verdad que no encuentro el error. No lo veo. A ver si me pueden ayudadr. El problema es que a la salida tengo la direccion de memoria... y no los valores de los puntos. Any idea?




class adpoint
{
private:

double m_imaginary;
double m_real;

public:

adpoint (double = 0.0,double = 0.0);
void set_real(double);
void set_imaginary(double);
double get_real() const;
double get_imaginary() const;

friend ostream& operator << (ostream &o, adpoint &p);

};


/////////////////////////////////////////////////////////////////



adpoint::adpoint(double r, double i)
{
set_real (r);
set_imaginary (i);
}

void adpoint::set_real(double r)
{
m_real = r;
}

void adpoint::set_imaginary(double i)
{
m_imaginary = i;
}

double adpoint::get_real() const
{
return m_real;
}

double adpoint::get_imaginary() const
{
return m_imaginary;
}

ostream& operator << (ostream &o, adpoint &p)
{
o << "(" << p.m_real << ", " << p.m_imaginary << ")";
return o;
}


////////////////////////////////////main////////////////////////

#include <iostream>
#include "adpoint.h"

using namespace std;

int main ()
{
adpoint *prueba = new adpoint (2,23);

cout << prueba->get_real() <<endl;
cout << prueba->get_imaginary()<<endl;

cout << "objeto prueba: " << prueba;

delete prueba;
cin.get();
}

SI ALGUIEN SABE CUAL ES MI ERROR??? SE LO AGRADESCO!! :p