001
28.02.2006, 17:27 Uhr
virtual
Sexiest Bit alive (Operator)
|
Also erstmal bezwefel ich daß der Code das tut, was Du willst: imöglich, daß du es so willst, wie es da steht, aber es würde den Konventionen widersprechen.
Vom op[] erwartet man im Allg., daß er den schreibenden under/oder lesenden Zugriff auf ein über einen index referenziertes Feld erlaubt. Ist a ein Array, dann soll ja a[b] das (b+1)ste Feld zurückliefern.
Bei Deiner op Klasse würde ich also erwarten, daß letztlich ein Element aus der Membervariablen feld zurückgeliefert wird:
C++: |
double& op::operator [] (int index) { return feld[index]; }
|
Da das Feld ein Array von doubles ist, ist der Returnwert von op[] ein double&. Mithin ist *this aber kein double&, sondern eben ein op Objekt. von daher macht es beim op[] für gewöhnlich keinen sinn, *this zurückzulieferen. -- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21) |