Sie sind auf Seite 1von 8

CAE Anwendungs-

programmierung
(C/C++)
Zusammenfassung

Dipl.-Inf. Christina Schäfer


Maximilian Kiehl, M. Sc.
Programmieraufgabe

 Im Zoo von Niederhamdorf gibt es verschiedene Arten von Zootieren. Jedes Zootier hat
einen Namen und kann gefüttert werden. Jede Tierart akzeptiert nur eine bestimmte Art von
Futter. Außerdem kann es davon nur eine bestimmte Menge fressen, die Menge ist jedoch für
alle Tiere einer Art gleich. Frisst ein Zootier mehr, als es vertragen kann, so wird es krank. Jedes
Zootier kann sich selbst beschreiben. Dabei gibt es Auskunft über die Art des Futters, die es
bevorzugt, die Futtermenge, die es verträgt, ob es krank oder gesund ist usw.

 Es gibt Tiger im Zoo. Diese fressen ausschließlich Zebrafleisch. Davon können sie maximal 15
Einheiten auf einmal verschlingen. Tiger können anhand der Anzahl ihrer Streifen unterschieden
werden.

 Weiterhin gibt es Vögel. Ein Vogel weiß immer, in welcher Höhe er sich gerade befindet, und
kann diese im Flug ändern. Wenn ein Vogel landet, ist seine Höhe 0m. Beim Futtern ist zu
beachten, dass Vögel, die über 2 Meter hoch fliegen, nicht gefüttert werden können. Außerdem
kann ein Vogel höchstens 1.5 Einheiten vom Vogelfutter fressen.

 Affen stellen eine weitere Tierart im Zoo dar. Diese fressen nur Bananen. Spätestens nach 7
Bananen sind sie satt. Wichtig zur Unterscheidung von Affen ist vor allem ihre Fellfarbe.

Quelle der Übung siehe auch: Prof. Dr. Heike


Wehrheim, Grundlagen der Programmierung I
Universität Paderborn / C.I.K. WiSe 17/18 CAE-Anwendungsprogrammierung Christina Schäfer / Maximilian Kiehl 188
Programmieraufgabe – UML Klassendiagramm

Universität Paderborn / C.I.K. WiSe 17/18 CAE-Anwendungsprogrammierung Christina Schäfer / Maximilian Kiehl 193
Klasse Zootier – get und set Methoden

class Zootier {

public: Get-Methode
string getName(){ return name_;};
Set-Methode
void setName(string newname){name_=newname;};

private:
string name_;
};

 Da die Variable name_ als privat definiert ist kann sie nur anhand von Get
und Set-Methoden außerhalb der Klasse Zootier benutzt werden

 Die getName Methode hat einen Rückgabewert vom Typ String und die
setName Methode hat den Rückgabewert void.

Universität Paderborn / C.I.K. WiSe 17/18 CAE-Anwendungsprogrammierung Christina Schäfer / Maximilian Kiehl 194
Klasse Affe - Vererbung

class Affe: public Zootier{  Die Klasse Affe erbt von


public: Zootier
Affe(string name, string
fellfarbe):
 Der Konstruktor bekommt
fellfarbe_(fellfarbe){
Name und Fellfarbe als
setName(name);
Parameter übergeben
setFutterart("Bannanen");
setFuttermenge(7);
}
void fuettern(double futter) {
if(getFuttermenge()<futter){
setKrank(true);
}
};
string getFellfarbe(){return
fellfarbe_;};
private:
string fellfarbe_
};

Universität Paderborn / C.I.K. WiSe 17/18 CAE-Anwendungsprogrammierung Christina Schäfer / Maximilian Kiehl 195
Klasse Zootier - Virtual Method

class Zootier {

public:
Virtual Method

virtual void fuettern(double menge) = 0;

};

 Da die Klassen Affe, Vogel und Tiger von Zootier erben und alle die
gemeinsame Funktion fuettern() besitzen, kann diese als virtual definiert
werden

Universität Paderborn / C.I.K. WiSe 17/18 CAE-Anwendungsprogrammierung Christina Schäfer / Maximilian Kiehl 196
Klasse Affe - Vererbung

class Affe: public Zootier{  Die Klasse Affe erbt von


public: Zootier
Affe(string name, string
fellfarbe):
 Der Konstruktor bekommt
fellfarbe_(fellfarbe){
Name und Fellfarbe als
setName(name);
Parameter übergeben
setFutterart("Bannanen");
setFuttermenge(7);
}  Die virtual Methode
fuettern (double futter) wird
void fuettern(double futter) {
überschrieben.
if(getFuttermenge()<futter){
setKrank(true);
}
};
string getFellfarbe(){return
fellfarbe_;};
private:
string fellfarbe_
};

Universität Paderborn / C.I.K. WiSe 17/18 CAE-Anwendungsprogrammierung Christina Schäfer / Maximilian Kiehl 197
Universität Paderborn

Anschrift: Ansprechpartner:
Universität Paderborn
Prof. Dr.-Ing. Rainer Koch
Fakultät für Maschinenbau
FON: +49 (0) 5251 - 60 22 58
Fachgebiet C.I.K.
E-MAIL: r.koch@cik.uni-paderborn.de
Pohlweg 47-49
33098 Paderborn Dipl.-Inf. Christina Schäfer
FON: +49 (0) 5251 - 60 22 27
Leitung: Prof. Dr.-Ing. Rainer Koch E-MAIL: c.schaefer@cik.uni-paderborn.de

Sekretariat: Frau Marion Schinkel Maximilian Kiehl, M.sc.


FON: +49 (0) 5251 - 60 22 57 FON: +49 (0) 5251 - 60 5474
FAX: +49 (0) 5251 - 60 34 82 E-MAIL: kiehl@cik.uni-paderborn.de

Universität Paderborn / C.I.K. WiSe 17/18 CAE-Anwendungsprogrammierung Christina Schäfer / Maximilian Kiehl