#include #include class Proger; QDataStream& operator>>(QDataStream &in, Proger *p); class Proger { public: int age; bool canReinstallWindows; Proger(int age, bool cRW) { this->age = age; this->canReinstallWindows = cRW; } static void save(Proger *p, QString filename) { QFile f(filename); f.open(QIODevice::WriteOnly); QDataStream out(&f); out.setVersion(QDataStream::Qt_5_2); out << p; f.close(); } static void load(Proger *p, QString filename) { QFile f(filename); f.open(QIODevice::ReadOnly); QDataStream in(&f); in.setVersion(QDataStream::Qt_5_2); in >> p; f.close(); } }; QDataStream& operator>>(QDataStream &in, Proger *p) { in >> p->age >> p->canReinstallWindows; return in; } int main(int argc, char *argv[]) { QApplication a(argc, argv); Proger proger(24, true); Proger::save(&proger, "/etc/dir/file.txt"); return a.exec(); }