C++ (Qt)enum { .. IOID_MYCLASS = 100, ..}; // записьMyClass * test = new MyClass();...stream << int (IOID_MYCLASS);stream << (*test); // чтение (объекты могут следовать в любом порядке)int type;stream >> type;switch (type) { ... case IOID_MYCLASS: { MyClass * test = new MyClass(); stream >> (*test); //.. здесь определяем считанный объект куда надо break; } .. default: ShowError("I/O Error");}
//Создаём наш класс, означиваем его атрибут MyClass *objTest = new MyClass(); objTest->nameTest = "test"; //Записываем наш класс, в файл с нашим форматом QFile fileSave("test.tfr"); fileSave.open(QFile::ReadOnly); QDataStream in(&fileSave); in << objTest; fileSave.close(); //Пытаемся извлечь наш класс QFile fileLoad("test.tfr"); fileLoad.open(QFile::WriteOnly); QDataStream out(&fileLoad); MyClass *objTest2; out >> objTest2; fileLoad.close();