Constructor[C++][Erledigt]

  • Themenstarter Themenstarter sw33tlull4by
  • Beginndatum Beginndatum
S

sw33tlull4by

Guest
Hi!
Ich bin letztens ueber eine Syntax gestolpert welche ich dachte zu verstehen und dann stellte sich heraus das da noch mehr hintersteckt.

Es geht um folgende Notation

erbendeklasse(int t,char h):vererbendeklasse(t){};

Diese Syntax sorgt dafuer das der Konstruktor der vererbenden Klasse aufgerufen wird,
und das anscheinend noch vor dem Konstruktor der erbenden Klasse.
Soweit sogut.

Nun wollte ich einen fstream-Objekt kopieren, geht ja nicht da copy-Constructor private ist.
Also habe ich Referenzvariablen uebergeben wollen.
Fehlermeldung war:
uninitialized reference member

Obwohl ich die Referenze im Konstruktor zugewiesen habe,was ich eigenartig fand.

Nach etwas suchen hat mich dann obige Syntax nochmal gerettet.

class lesen
{
std::fstream &einmal;
...
lesen(std::fstream& lalala, int nocheinparameter):einmal(lalala)
{
......
}

//fuehrt zu Fehler
/*
lesen(std::fstream& lalala,int nocheinparameter)
{
einmal = lalala;
.....
}
*/
}

Kann mir also jemand sagen was genau es mit obiger Notation auf sich hat, oder zumindest wonach ich suchen muss wenn ich darueber Informationen finden will?

mfg

sw33t
 
Zurück
Oben