В настоящее время я работаю с этим следующим образом:
Вместо того, чтобы наследовать от QDataStream, я создаю класс сериализатора для каждого объекта, который мне нужно сериализовать.
Например, если у меня есть:
class MyOwnClass
Я бы тогда создал класс с именем:
class MyOwnClassSerializer
{
public:
static QByteArray const serialize(MyOwnClass const&);
};
Причина, по которой я не добавил
QByteArray serialize() const;
От
до class MyOwnClass
, так что люди могут использовать MyOwnClass
без зависимости от Qt. Также не все клиенты MyOwnClass
заинтересованы в сериализации класса.
Любые комментарии приветствуются! =)