heute c++ klausur in pinneberg geschrieben (die gleiche klausur wurde auch an 3 weiteren standorten geschrieben). konzipiert wurde die klausur von prof. EG hoffmann.
die detailaufgaben (30 pkt) waren ziemlich einfach und halt wie immer recht theoretisch. was sind objekte, klasse, klassenvariablen, membervaribalen, friends, übergabe per referenz, heap und stack erklären etc
dann gabs 3 komplex, 2 davon zu lösen (jeweils 30 pkt).
die erste war prozedurale programmierung, habe ich mich nicht weiter angeschaut.
die zweite war eine handy-klasse und eine telefonkarten-klasse nach UML diagramm programmieren. war machbar. aber sehr viel schreibarbeit. erst nur die deklarationen und dann die funktionen mit inhalt.
die handy-klasse hat ein objekt der telefonkartenklasse als member. die aggregation von objekten innerhalb eines anderen objekts (heisst innerhalb eines objektes befindet sich ein weiteres objekt als membervariable) scheint also sehr beliebt zu sein bei eg hoffmann.
dann sollte man dazu noch ein testprogramm schreiben, was alle funktionen testet. habe ich nicht vollständig gemacht, da es sehr viele fälle sind, die man beachten musste. habe es dann nur als text drun ter geschrieben, was "fehlt"

die dritte komplex war abstraktion und vererbung sowie vektor/array.
aus der beschreibung sollten uml diagramme einer abstrakten haus-klasse gemalt werden (mit virtueller methode "ausgabe()". von dieser leiten sich dann einfamilienhaus und geschäftshaus ab (vererbung). in der oberklasse sollten halt die gemeinsamkeiten gekapselt werden.
dann sollte das programmiert werden. auch die output-funktionen der unterklassen, die nichts anderen machen sollten, als alle membervariablen der klasse komma-getrennt auszugeben.
danach sollte man eine "firma" klasse, die immobilienobjekte verwaltet, per uml definieren, die "haus" objekte in einem array aggregiert (also ein array bestehend aus zeigern auf haus-objekte). man konnte es als array ODER vektor machen. da ich mir den STL kram nicht weiter angegguckt hatte, habe ich ein array gemacht.
dann wurde ein hauptprogramm gegeben, das firma und zwei hausobjekte instanziert. diese beiden objekte werden dann "haus" per methode "fuegehinzu" oder so hinzugefügt und in das array/vektor hinzugefügt (hier war es dann ein array bestehend aus zeigern auf Haus-Objekte, also "Haus * haeuser[];".
dann gab es noch zwei methoden von "Firma", die man programmieren musste. ausgabe(), die alle häuser ausgibt (im prinzip also for-schleife über das haeuser array und dann ausgabe() methode von "Haus" aufrufen), und eine weitere ("jahresVerguetungBerechnen() o. ä.), die auch wieder alle häuser durchgeht und den verwaltungsaufwand berechnet (war aus der aufgaben-stellung ersichtlich und einfache multiplikation des haus-preises mit einer konstanten klassen-variable, die man zuor auch noch angelegt hat).
alles in allem habe ich 2.5 stunden von den 3 gegebenen gebraucht - ist ne menge schreibarbeit und programmieren auf dem papier IST *HARDCORE*

ansonsten gibts ja immer in den seminaren noch eine musterklausur zum schluss. bei interesse kann ich die euch zuschicken.
gruss und viel erfolg, soenke