Test Foro de elhacker.net SMF 2.1

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 (cpp) [Seleccionar]

racional :: racional(int numerador, int denominador)
{
        this->numerador = numerador;
        this->denominador = denominador;

}


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