044
16.07.2003, 22:11 Uhr
ao
(Operator)
|
Nachdem du operator += schon hast, würde ich es so versuchen (ungetestet, nur hingetippt).
C++: |
Menge Menge::operator+ (Menge & A, Menge & B) { Menge Result (A); Result += B; return Result; }
|
Erklärungen:
Lokales Objekt Result: Wir dürfen nicht auf *this arbeiten, weil der operator+ nicht wie += "auf einem Objekt" arbeitet, sondern einfach zwei Objekte nimmt und vereinigt. Man braucht also keine Instanz, um ihn aufzurufen, von daher könnte er sogar static sein (falls C++ static-operatoren erlaubt, hab ich noch nie probiert).
Rückgabewert: Keine Referenz, sondern Kopie! Referenz auf lokales Objekt würde nicht funktionieren. Erfordert, daß Menge einen Copy-Konstruktor hat.
ao |