Breymann. C++ Einführung und professionelle Programmierung

Breymann. C++ Einführung und professionelle Programmierung Breymann. C++ Einführung und professionelle Programmierung

vred.bioinf.uni.sb.de
von vred.bioinf.uni.sb.de Mehr von diesem Publisher
17.11.2014 Aufrufe

Mit Typumwandlungskonstruktor Wenn ein Typumwandlungskonstruktor vorhanden ist, könnten alle Prototypen und Implementationen des Operators entfallen, die einen long- Parameter enthalten. Implementierung mit Ausnutzen der Kurzformoperatoren Zunächst wird += implementiert: Deklaration als Elementfunktion: // in class rational nachtragen: rational& operator+=(const rational&); Definition: rational& rational::operator+=(const rational& b) { } zaehler = zaehler*b.nenner + b.zaehler*nenner; nenner kuerzen(); return *this; = nenner*b.nenner; Breymann C++, c○ Hanser Verlag München Inhalt ◭◭ ◭ ◮ ◮◮ 376 zurück Ende

operator+() kann dann mit Hilfe von += implementiert werden: rational operator+( const rational& a, const rational& b) { rational temp = a; return temp += b; // temp.operator+=(b) } oder noch kürzer rational operator+( const rational& a, const rational& b) { return rational(a) += b; } Breymann C++, c○ Hanser Verlag München Inhalt ◭◭ ◭ ◮ ◮◮ 377 zurück Ende

operator+() kann dann mit Hilfe von += implementiert werden:<br />

rational operator+( const rational& a,<br />

const rational& b) {<br />

rational temp = a;<br />

return temp += b; // temp.operator+=(b)<br />

}<br />

oder noch kürzer<br />

rational operator+( const rational& a,<br />

const rational& b) {<br />

return rational(a) += b;<br />

}<br />

<strong>Breymann</strong> <strong>C++</strong>, c○ Hanser Verlag München<br />

Inhalt ◭◭ ◭ ◮ ◮◮ 377 zurück Ende

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!