Prog2 Aufgabe - static membDas Projekt aggregat wird erweitert:
- die Klassen MitarbArray und Mitarbeiter sollen jeweils die Anzahl ihrer Instanzen zählen und eine Methode getInsts() zum Auslesen dieser Werte bereitstellen
- das Anwendungsprogramm ist so zu erweitern, dass eine weitere Instanz von MitarbArray in einem inneren Block angelegt wird (s. main function unten). Die Instanzzählung soll durch Ausgabe der Zählerstände vor Instanziierung des ersten Objekts, dann in dem Block und anschließend nach Verlassen des Blocks verifiziert werden.
Anleitungen
- neues Projekt, neue Dateien ...
- beiden Klassen einen Instanzenzähler instcount als private static int zufügen
- beide Instanzenzähler mit 0 initialisieren
- in der Mitarbeiter Klasse einen Copy Konstruktor implementieren
- alle Konstruktoren (beider Klassen) und Copy Konstruktoren inkrementieren den Instanzenzähler ihrer Klasse
- die Destruktoren dekrementieren den Instanzenzähler ihrer Klasse
- in beiden Klassen eine statische Methode int getInsts() zum Auslesen des Instanzenzählers implementieren (z.B. inline)
- in der MitarbArray Klasse eine statische Methode showAllInsts() implementieren, welche die Zählerstände beider Klassen kommentiert ausgibt
- Anwendung erstellen/erweitern, z.B.:
C++ void main()
{
MitarbArray::showAllInsts();
MitarbArray team42(42);
team42.setMitarbeiterAt(
MitarbArray::Mitarbeiter("Ole", "Leo", 42), 0);
{
// Kopie anlegen mit Copy Konstruktor:
MitarbArray team43(team42);
MitarbArray::showAllInsts();
}
MitarbArray::showAllInsts();
}
Dieses main erzeugt folgende Ausgabe:
Instanzen der Klasse MitarbArray: 0
Instanzen der Klasse Mitarbeiter: 0
Instanzen der Klasse MitarbArray: 2
Instanzen der Klasse Mitarbeiter: 84
Instanzen der Klasse MitarbArray: 1
Instanzen der Klasse Mitarbeiter: 42
Lösung
- static_memb.cpp
- Diese Datei beinhaltet das eigentliche Programm, d.h. die main()-Funktion
- static_memb.cpp
- MitarbArray.h
- Die Header-Datei für die Klasse
- Lösung von Sören
- MitarbArray.cpp
- Die Klassendefinition etc. für die MitarbArray.h
- Lösung von Sören
|
Zahlen & Daten
- 549 Seitenaufrufe
- 1116 Tage alt
- 5 Versionen
- Letzte Änderung: 29.04.2009 um 17:00 Uhr
Publish
|