¿Existe alguna interfaz serializable en C++?

Jose M.
13 de Febrero del 2003
Alguien sabe como puedo pasar un objeto a un fichero y luego recuperlo entero en c++, como en Java la interfaz serializable.
Otra pregunta alguien me puede decir si hay alguna funcion para copiar objetos al estilo de java clone().
Muchas gracias.

webJose
13 de Febrero del 2003
Pues yo no sé nada de Java, excepto que sus objetos son objetos COM (exclusivamente??). Seguramente el hecho de poder grabar un objeto a disco se lleva a cabo mediante alguna de las interfases COM diseñadas para dicho propósito, como por ejemplo IPersistStream.

Mi Visual C++ 6.0 está en inglés, así que le puedo decir que busque en el índice "Persistence Interfaces" para más información.

En cuanto a clonar un objeto, usted puede agregar el método Clone() a su clase C++ y la implementación implica la creación de un nuevo objeto, y la copia de los datos contenidos por el objeto creador. Ejemplo:

class SomeClass
{
....
//Datos
protected:
BSTR m_Nombre;
LONG m_Pos;

//Clonacion
SomeClass* Clone()
{
SomeClass* nuevo = new SomeClass;

nuevo->m_Pos = m_Pos;
nuevo->m_Nombre = SysAllocString(m_Nombre);
return nuevo;
}
....
}

PINTO
13 de Febrero del 2003
Tienes razon ni tienes ni puta idea de Java. Los objetos no son objetos COM, de echo no tienen absolutamente nada que ver.

Oliverio
13 de Febrero del 2003
si deribas tu calse de CObject de la MFC podras serialisarlo con muy poco codigo