01.03.2014 Aufrufe

Programmieren 1 - Strukturen - Klassen - Objekte

Programmieren 1 - Strukturen - Klassen - Objekte

Programmieren 1 - Strukturen - Klassen - Objekte

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Funktionsorientiert versus Objektorientiert<br />

FB Informatik<br />

Prof. Dr. R.Nitsch<br />

// Fraction.cpp<br />

#include "Fraction.h"<br />

Fraction add(Fraction op1, Fraction op2) {<br />

if(op1.n==0||op2.n==0) // PRE<br />

exit(1); // aborts program<br />

Fraction result;<br />

result.z = op1.z*op2.n+op1.n*op2.z;<br />

result.n = op1.n*op2.n;<br />

return result;<br />

}<br />

Fraction subtract(Fraction op1, Fraction op2)<br />

{ /* … */ }<br />

// …<br />

// Fraction.cpp<br />

#include "Fraction.h"<br />

Fraction Fraction::add(Fraction op2) {<br />

if(n==0||op2.n==0) // PRE<br />

exit(1); // aborts program<br />

Fraction result;<br />

result.z = z*op2.n+n*op2.z;<br />

}<br />

result.n = n*op2.n;<br />

return result;<br />

Fraction Fraction::subtract(Fraction op2)<br />

{ /* … */ }<br />

// …<br />

Deklariert Zugehörigkeit zum<br />

Namensbereich "Fraction"<br />

Membervariable des<br />

aufrufenden Objekts<br />

Fraction set(Fraction op,int num, int denom)<br />

if(denom==0) exit(1); // PRE<br />

op.z=num; op.n=denom;<br />

return op;<br />

}<br />

void Fraction::set(int num, int denom)<br />

if(denom==0) exit(1); // PRE<br />

z=num; n=denom;<br />

return;<br />

Hier wird die Membervariable des<br />

}<br />

aufrufenden Objekts und nicht die<br />

einer Kopie desselben verändert.<br />

Rückgabe an Aufrufstelle und dort<br />

Zuweisung an Original sind deshalb<br />

nicht mehr nötig.<br />

22.04.2013 6

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!