Cita:
Iniciado por dehm Creo que el error se refiere a que en el fichero *.hpp no se define el tipo ostream, porque no has incluido allí iostream
[...]
Si incluyes la librería iostream en el fichero *.h deberías no tener ese problema. De paso la puedes quitar del fichero *.cpp.
[...]
Veamos veamos... lo que decis suena a ser la solucion.. lastima que no es tan asi xD
Código:
In file included from Racional.cpp:3:0:
Racional.hpp: In function ‘std::ostream& operator<<(std::ostream&, const Racional&)’:
Racional.hpp:69:10: error: ‘long int Racional::Num’ is private
long Num;
^
Racional.cpp:395:17: error: within this context
stream << elem.Num << "/" << elem.Den;
^
In file included from Racional.cpp:3:0:
Racional.hpp:70:10: error: ‘long int Racional::Den’ is private
long Den;
^
Racional.cpp:395:36: error: within this context
stream << elem.Num << "/" << elem.Den;
^
Para mi tiene sentido lo que me dijiste, pero ahora me sale este error :(
Intenté pasar Num y Den con funciones pero tampoco anda
Código C++:
Ver originallong num(){return Num;}
long den(){return Den;}
y
Código C++:
Ver originalconst long num(){return Num;}
const long den(){return Den;}
En esos casos lo que me dice es que se viola el const Racional que paso como parámetro a la función -.-