<< und >> überlagern
-
Hi,
hat jemand einen Plan wie man << und >> überlagern kann????
Wäre echt super wenn mir jemand helfen könnte!
MFG
Yast
-
Du meinst überladen...
z.B.
CTest& CTest::operator << (int i) { this->irgendwas += i; return *this; }
-
Hallo,
es gibt auch die Möglichkeit, den << bzw. >> Operator global zu überladen:
struct Foo { int i; }; ostream& operator<<(ostream &os, const Foo &f) { return os<<f.i; }; istream& operator>>(istream &is, const Foo &f) { return is>>f.i; };MfG
GPC
-
Ne eigentlich meinte ich schon überlagern nicht überladen!
Ich hab da mal was gehört das das nur mit der friend function irgentwie geht!
naja trotzdem mal thx!
Hoffe das andere noch ne idee habe!
MFG
YAST
-
sag mal genau, was passieren soll. meinst du vielleicht überschreiben?
-
Überlagern gibt es nicht das hast du wohl von nen paar halbwissenden aufgeschnappt, die selber nicht so genau wussten wie man das richtig nennt.
-
Meinst du die Namen überdecken? Für die eingebauten Datentypen?
Sowas wäre ziemlich schlechter Stil. Man ändert nich einfach das Verhalten von Komponeten der Standardbibliothek (Und ich wäre mir nicht sicher, ob das überhaupt geht). Sowas treibt jeden dritten, der auch mit dem Code arbeiten müsste, in den Wahnsinn.
Edit: Beziehst du dich eigentlich auf Bitshiften oder Stream-E/A? Ändert nix an der Antwort.