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.
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.
insert(const string& art, bool kuend, long nr, const string& inh) insert(int blz, double dispo, long nr, const string& inh)Viel Erfolg!