ERLEDIGT
JA
JA
ANTWORTEN
2
2
ZUGRIFFE
661
661
EMPFEHLEN
-
Hallo. Ich habe gerade mal so zum Testen eine Klasse geschrieben die man mit dem Operator << mit Daten füllen soll;
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
template <class T> class test { private: T var; public: test() : var(T()) {}; operator= (const T& ref) { var = ref; } operator<< (const T& ref) { var += ref; } T get() { return var; } };
Nun meine Frage:
Code :1 2 3 4 5
test<int> obj; obj = 5; obj << 1 << 4; cout << obj.get(); // Ausgabe: 6
Warum wird der zweite Operator << 4 nicht abgearbeiten oder wie muss ich die Klasse umschreiben dass es geht.
Danke & Frhe Weihnachten
-
26.12.04 09:03 #2
- Registriert seit
- Jul 2003
- Ort
- Duisburg (NRW)
- Beiträge
- 1.788
Du musst in dem Fall eine Referenz auf dein Objekt zurückgeben, damit du die Operation verketten kannst.
Code :1 2 3 4 5
test& operator<< (const T& ref) { var += ref; return *this; }
Ich rate allerdings davon ab, den '<<'-Operator für so eine Operation zu missbrauchen. Was du da machst, entspricht exakt der Funktion des '+='-Operators, also benutz doch lieber den.
Übrigens werden viele Leute verwirrt, wenn man ihnen abwegig überladene Operatoren vorsetzt.Geändert von Kachelator (26.12.04 um 12:12 Uhr) Grund: OMG, schon wieder vertippt!
Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."
-
Ist mir durchaus klar dass der Operator hier nicht viel Sinn macht. Ich wollte nur mal wissen wie es geht. Danke für die Antwort funktioniert!
Ähnliche Themen
-
VB 08 / Operator Mid
Von Xebino im Forum Visual Basic 6.0Antworten: 1Letzter Beitrag: 14.10.09, 09:23 -
SQL Abfrage mit NOT Operator
Von blackwicky im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 10.01.09, 18:03 -
Like Operator
Von Arijane im Forum .NET Windows FormsAntworten: 4Letzter Beitrag: 22.06.08, 10:16 -
Welcher Operator?
Von whisky1108 im Forum Visual Basic 6.0Antworten: 2Letzter Beitrag: 10.11.07, 02:00 -
Modulo-Operator
Von ExAByte im Forum PHPAntworten: 2Letzter Beitrag: 14.02.02, 14:59





)
Zitieren
Login





