Я сериализую большинство моих классов с двумя функциями: read () и write (). Я хотел бы, чтобы функция read / write () базового класса вызывалась из подклассов, чтобы мне не приходилось повторять код сериализации несколько раз.
Например:
class Base
{
public:
base();
virtual read(QDataStream&);
virtual write(QDataStream&);
private:
int a, b, c, d;
}
class Sub : public Base
{
public:
Sub();
read(QDataStream&);
write(QDataStream&);
private:
int e, f, g, h;
}
Так что в этом примере я хотел бы, чтобы код для чтения / записи a, b, c, d исходил из Base. Sub затем вызывает Base :: read (QDataStream &) и затем добавляет любые атрибуты, уникальные для Sub. Таким образом, мне не нужно повторять код сериализации для каждого подкласса (и, возможно, забудьте об этом).