Konvertiere ifstream in iStream

7

Wie würde man einen ifstream in einen istream schreiben? Ich denke, da Ifstream ein Kind von istream ist, sollte ich dazu in der Lage sein, aber ich habe Probleme mit einer solchen Aufgabe.

%Vor%     
Anonymous 02.11.2010, 17:05
quelle

3 Antworten

20

Es ist kein Cast notwendig.

%Vor%     
Cheers and hth. - Alf 02.11.2010 17:13
quelle
1

Versuchen Sie:

%Vor%

Das gleiche gilt, wenn Sie auch eine Referenz (& Amp;) zum Stream-Typ haben. static_cast wird in diesem Fall bevorzugt, da die Umwandlung zum Zeitpunkt der Kompilierung durchgeführt wird, sodass der Compiler einen Fehler melden kann, wenn die Umwandlung nicht möglich ist (dh istream war kein Basistyp von ifstream ).

Zusätzlich, und das wissen Sie wahrscheinlich schon, können Sie einen Zeiger / Verweis auf ein ifstream an eine Funktion übergeben, die einen Zeiger / Verweis auf ein istream akzeptiert. Folgendes ist beispielsweise in der Sprache erlaubt:

%Vor%     
Steve Guidi 02.11.2010 17:09
quelle
0
%Vor%     
Neil 02.11.2010 17:09
quelle

Tags und Links