Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Lord_Lobotomi en 4 Diciembre 2011, 21:03 pm



Título: Problema con la sobrecarga del operador <<
Publicado por: Lord_Lobotomi en 4 Diciembre 2011, 21:03 pm
Sencillamente mi problema es que intento que el operador << me muestre un numero fraccionario como 3/4... pero lo que hace es mostrar el numero 6029362/2293672 asi el usuario ingrese cualquier numero... aqui adjunto el código, espero alguien me pueda ayudar

#include <iostream.h>

class racional
{
    int numerador, denominador;

    public:
    racional(int numerador, int denominador);

    friend ostream& operator << (ostream& s, racional C);


};

ostream &operator<< (ostream& s, racional C)
{
    s<<C.numerador<<"/"<<C.denominador;
    return s;

}

racional :: racional(int numerador, int denominador)
{
        numerador = numerador;
        denominador = denominador;

}

main()
{
    int num1, num2;

    cout<<"ingrese el numerador";
    cin>>num1;
    cout<<"ingrese el denominador";
    cin>>num2;

    racional C(num1, num2);
    cout<<C;
}


Título: Re: Problema con la sobrecarga del operador <<
Publicado por: satu en 4 Diciembre 2011, 21:44 pm
Hola

En el constructor debes cambiar el nombre de los parámetros o poner esto
Código
  1. racional :: racional(int numerador, int denominador)
  2. {
  3.        this->numerador = numerador;
  4.        this->denominador = denominador;
  5.  
  6. }

para indicar que estás accediendo a los atributos

Saludos


Título: Re: Problema con la sobrecarga del operador <<
Publicado por: Lord_Lobotomi en 5 Diciembre 2011, 19:36 pm
 >:D Muchas gracias... he resuelto el problema con tu ayuda!! te lo agradezco