002
08.04.2005, 15:43 Uhr
virtual
Sexiest Bit alive (Operator)
|
Zitat von cmos: |
Hallo, habe das hier in einer Übung gehabt. Der Verantwortlich konnte mir das aber auch net näher erläutern.
C++: |
komplex komplex::add(komplex p) { return komplex(reteil+=a.reteil,imteil+=a.imteil); }
|
An wen gibt das return etwas zurück?
|
Meiner Meinung nach ganz miserabler Code: die add Method verändert das Object, also bei "z1.add(z2)" wird z1 verändert und gleichzeitg wird ein neues Object erzeugt, welches dann den gleichen Wert wie z1 nach der Addition hat. Hier sind meiner Meinung nach zwei Routinen zu einer Vermischt worden: 1. ein AddTo, welches zu einer Zahl eine weitere Addiert 2. ein Add, welches Zwei Zahlen addiert und eine neue Zahl erstellt.
Die Method macht praktisch ein möglichst unperformantes AddTo; denn obiger Code wäre erffizienter mit:
C++: |
komplex& komplex::add(komplex p) { reteil+=a.reteil; imteil+=a.imteil; return *this; }
|
-- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21) |