Ich serialiere die meisten meiner Klassen mit zwei Funktionen, read () und write (). Was ich tun möchte, ist die Lese- / Schreib () - Funktion der Basisklasse, die von den Unterklassen aufgerufen wird, so dass ich den Serialisierungscode nicht mehrmals wiederholen muss.
Zum Beispiel:
%Vor%In diesem Beispiel möchte ich, dass der Code a, b, c, d von Base liest / schreibt. Sub würde dann Base :: read (QDataStream & amp;) aufrufen und dann alle Attribute hinzufügen, die für Sub eindeutig sind. Auf diese Weise muss ich den Serialisierungscode für jede Unterklasse nicht wiederholen (und möglicherweise auch vergessen).
Zunächst einmal - Ihre Memberfunktionen haben keine Rückgabetypen - nicht gültig in C ++, Ihr Compiler könnte sich über das 'default int'-Verhalten beschweren und es passieren lassen, aber Sie sollten ihnen Rückgabetypen geben (Ich werde% co_de verwenden % als Platzhalter).
Sie können den Umfang der übergeordneten Klassenversion auflösen und verwenden, wenn Sie sich in einer Unterklasse befinden:
%Vor%