Sicherlich lässt sich die Klausur dadurch nicht lösen, aber man bekommt nochmal einen schönen Eindruck, was aktuell gefragt wird.
Hilfsmittel waren zwei Zettel an der Klausur mit
- * vector - Infos,
* string - Infos und
*Priorität der Operatoren
Sieben Detailfragen mit Unterfragen (insg 20 Pkt.)
1.
- Vier-Variablentypen: Wo werden diese verwendet?
- Beispiel einer Klassen-Variablen notieren
... (black-out)
5. int-Array jeweils auf Stack und Heap anlegen.
Warum kann auf beide per arrayName[2] zugegriffen werden?
6. Wann ist ein einfacher Kopierkonstruktor für ein Object (Bsp. Bruch) nicht ausreichend?
7. Drei Vorteile der Objektorientierung
Drei Komplexfragen, davon zwei zu lösen (jeweils 20 Pkt.)
I.)
es ging um die Generierung von TAN's (mit Hilfe von rand()) und deren Überprüfung bei der Eingabe
Gegeben war ein Beispielcode aus einem Programm zum erzeugen von Lotto-Zahlen (wg. rand()))
II.)
Thema:
Anlegen von Familien-Mitgliedern in einem Stammbaum.
Dazu eine Klasse Mitglieder, die die Familien-Mitglieder darstellten mit folgenden Attributen:
- * name, vorname, gebDatum, sterbeDatum (alle string), ignorieren(bool)( um bei der Ausgabe nicht berücksichtigt zu werden)
* Konstruktor mit Parametern und einem Default-Parameter
* operator << zur Ausgabe
Dazu eine Klasse Stammbaum, die die einzelnen Mitglieder in einem vector<Mitglieder> aufnahm.
* Methoden: - finde: finden beim name/vorname
- hinzu: fügt dem vector neues Mitglied hinzu
* operator << zur Ausgabe aller Mitglieder
- * wenn ignorieren == true, dann keine Ausgabe des Mitglieds
* wenn sterbedatum == "", dann Ausgabe "lebt wohl noch"
III.)
Thema:
Abbildung einer Firmenstruktur anhand eines gegebenen UML-Diagramms
Vier Klassen
1. Person:
- * proteced string name
* Konstruktor mit Parameter name; außerdem Inkrement von anzahl
* method int getAnzahl();
* operator <<
* Klassen-Variable anzahl, um alle Mitarbeiter zu zählen
- * Konstruktor mit Parameter name und noch einem Parameter (weiss nicht mehr)
* operator <<
- * string name
* Konstruktor mit name
* vector<Mitarbeiter> personal
* methoden hinzu(Mitabeiter&), finde(name) & bool istAbteilung(name) (oder so ähnlich)
* operator <<
- * string name
* vector<Abteilung> abteilungen
* operator <<
Vielleicht hat noch jemand Ergänzungen zu den Detailfragen, da hab' ich einen Kopf wie ein Sieb gehabt. Mit denen kann man ja schon fast die Grundlage für das Bestehen legen...
Gruß,
Rumtata