¿Qué constructor puede usar para crear una instancia de un flujo si lo declara como miembro de una clase?¿Cómo crear una instancia de un fstream si lo declaras como miembro de una clase?
#include <fstream>
class Foo {
Foo();
// not allowed
std::fstream myFile("\\temp\\foo.txt", fstream::in | fstream::out | fstream::trunc);
// allowed
std::fstream myFile;
}
// constructor
Foo::Foo() {
// what form of myFile("\\temp\\foo.txt", fstream::in | fstream::out | fstream::trunc) can I use here?
myFile = ???
}
¿Puede ampliar esta nueva característica de C++ 2011 que le permite utilizar "inicializaciones están permitidos dentro del cuerpo de una clase."? Tenía la clara impresión de que todos los miembros se inicializan fácilmente cuando se ingresa el cuerpo del constructor ... –
@ DietmarKühl- ¡Claro! En C++ 11, puede asignar valores predeterminados a cada uno de los campos de una clase. Si no se reemplazan por algo específico en una lista de inicializadores, entonces se inicializan como si se hubieran inicializado en una lista de inicializadores. – templatetypedef
¡No es de extrañar que C++ se haya vuelto tan abstruso! – likejiujitsu