Welchen Konstruktor können Sie verwenden, um einen fstream zu instanziieren, wenn Sie ihn als Mitglied einer Klasse deklarieren?
%Vor% %Vor%In der neuen Version von C ++ (C ++ 11) ist der obige Code vollkommen in Ordnung; Initialisierungen sind innerhalb des Körpers einer Klasse erlaubt.
In C ++ 03 (die vorherige Version von C ++) können Sie das fstream
initialisieren, indem Sie die Elementinitialisierungsliste wie folgt verwenden:
Dies geschieht syntaktisch, indem Sie nach dem Namen des Konstruktors, aber vor der geschweiften Klammer einen Doppelpunkt einfügen und dann den Namen des zu initialisierenden Felds (hier myFile
) und dann in Klammern die Argumente auflisten, die Sie verwenden möchten um es zu initialisieren. Dies führt dazu, dass myFile
korrekt initialisiert wird.
Hoffe, das hilft!