en el contructor pone esto
MiClaseLog(std::ostream & logStream):logStream(logStream) {
}
al ser el atributo una referencia, en c++ se debe inicializar la referencia al
momento de declararla
saludos
PD: aunque logStream sea un atributo y un parametro con el mismo nombre, el
compilador se da cuenta q estas construyendo el atributo
----- Original Message -----
From: Maximiliano Milicich
To: Una lista para consultas de programación
Sent: Monday, October 29, 2007 12:54 AM
Subject: [Prog] ostream en C++
Hola
Tengo un temita en C++
Quiero hacer una clase que realice salidas a un archivo de Log
Este Log eventualmente podria ser el std output (el std::cout)
Entonces mi clase tiene un atributo que es la referencia al archivo de log. Y
se inicializa en el constructor
Algo asi:
#include <ostream>
class MiClaseLog
{
private:
std::ostream & logStream;
public:
MiClaseLog(std::ostream & logStream) {
this->logStream = logStream;
}
virtual ~MiClaseLog() {
}
};
Ahora, cuando hago uso de ella, por ejemplo haciendo un:
MiClaseLog mcl (std::cout);
En la compilacion me da error en el constructor de la clase:
Me dice que Modelo::logStream sin inicializar
y tambien algo asi como "se requirio primero el metodo sintetizado
std::basic_ostream<char_traits....bla bla bla"
De mas esta decir q con el C++ no me llevo muy bien...=)
Que estoy haciendo mal ?
gracias !!
Saludos
MA_Xx
------------------------------------------------------------------------------
_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion
------------------------------------------------------------------------------
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.503 / Virus Database: 269.15.12/1097 - Release Date: 28/10/2007
01:58 p.m.
_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion