Dr. Andreas F. Borchert Institut für Angewandte Informationsverarbeitung 25. November 2008
Wolfgang Kaifler Blatt 5


Uni Logo



Objektorientierte Programmierung mit C++ (WS 2008)


Abgabetermin: 02. Dezember 2008

11 Konten-Verwaltung (10 Punkte)

In diesem Übungsblatt soll ein Konten-Verwaltungsprogramm realisiert werden. Eine Basisklasse konto speichert darin die Daten ,,Konto-Nummer`` und ,,Inhaber``.

Weitere Ausprägungen der Basisklasse nach ,,Anlage`` und ,,Giro`` speichern zusätzliche Informationen wie ,,Anlagen-Art`` und ob die Anlage innerhalb eines Viertel-Jahres kündbar ist - bzw. zum Giro-Konto noch die Bankleitzahl und die größe des Dispokredits.



\includegraphics[width=1.0\textwidth]{konto.eps}





Definieren Sie nun eine Klasse kontoVerw mit einem Vektor von Zeigern auf die Klasse konto sowie eine int Variable für die aktuelle Anzahl der Elemente im Vektor

Der Konstruktor der Klasse kontoVerw initialisiert die aktuelle Anzahl der Vektorelemente mit 0.

Der Destruktor muss den dynamisch reservierten Speicherplatz wieder freigeben. Achten Sie darauf, dass der Destruktor in der Basisklasse konto virtuell deklariert ist, damit der Speicherplatz auch für Anlagen und Giro-Konten korrekt freigegeben wird.

Die Methode insert() ist in zwei Versionen mit den unten stehenden Prototypen zu implementieren. In jeder Version wird Speicherplatz für ein Objekt des entsprechenden Typs - der Klasse anlage bzw. giro reserviert und mit den übergebenen Argumenten initialisiert. Die Methode liefert false zurück, falls der Vektor voll ist, andernfalls true

Implementieren Sie weiterhin eine Methode display(), welche die Daten aller Konten anzeigt. Dazu ruft sie zu diesem Zweck für jedes Objekt die bereits erstellte Methode display() auf.

Erstellen Sie weiterhin in einer neuen Quelldatei ein Menü, welches den Benutzer zur Ein- bzw. Ausgabe der Konten auffordert.

Außerdem sind zwei ,,set``-Funktionen zu schreiben, die die Daten für die Anlage bzw. das Giro-Konto einlesen und in die passenden Argumente zurückschreiben.

Wird im Menü der Punkt ,,Anlage aufnehmen`` bzw. ,,Giro aufnehmen`` ausgewählt, werden die entsprechenden Daten aufgenommen und anschließend die passende insert()-Methode aufgerufen. Legen Sie zusätzlich in der main()-Funktion ein Objekt vom Typ KontoVerw an.




Prototypen

insert(const string& art, bool kuend, long nr, const string& inh)
insert(int blz, double dispo, long nr, const string& inh)
Viel Erfolg!



Wolfgang Kaifler 2008-11-25