Wie instanziiere ich einen fstream, wenn Sie ihn als Mitglied einer Klasse deklarieren?

8

Welchen Konstruktor können Sie verwenden, um einen fstream zu instanziieren, wenn Sie ihn als Mitglied einer Klasse deklarieren?

%Vor% %Vor%     
likejiujitsu 24.01.2012, 21:06
quelle

2 Antworten

7

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:

%Vor%

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!

    
templatetypedef 24.01.2012, 21:10
quelle
4

Eine andere Option ist:

%Vor%     
yurbles 24.01.2012 22:08
quelle

Tags und Links