Запись вектора классов в файл QT C++
Требуется записать и считать из файла вектор классов (QT C++)
Родительский класс:
class Pentagon :public Figure
{
private:
double vertex;
QString name = "pentagon";
int stack;
public:
Pentagon(){vertex=5;stack=1;Figure::count++;}
Pentagon(double vv, int ss){vertex=vv;stack=ss;Figure::count++;}
~Pentagon(){stack=0;}
virtual QString Check(){return name;}
int CheckSTASH(){return stack;}
virtual QString Stat(QString n1){return name.append(n1);}
};
Дочерний класс:
class Star :public Pentagon
{
private:
double height;
QString name = "star";
int stack;
public:
Star(){height=5;stack=1;}
Star(double hh,double vv,int ss):Pentagon(vv,ss){height=hh;};
~Star(){stack=0;}
QString Check(){return "star";}
int CheckSTASH(){return stack;}
QString Stat(QString n1, QString n2){return name.append(n1).append(n2);}
};
Вектор создан такой:
Star vec1; Star vec2; Pentagon vec3;
QVector <Pentagon> MilkyWay = {vec1,vec2,vec3};
Я так понимаю надо переопределять операторы и поэлементно сохранять в последовательности? Как вообще сохранить приватные переменные?
Источник: Stack Overflow на русском