Was ist das hier?

  • Eine Plattform von Flensburger Studenten für Flensburger Studenten
  • Ein Wiki zum Sammeln von Wissen
  • Ein Forum zum Austausch
  • Eine Wissensdatenbank zum Informatikstudium:
    • Programmieren in C, C#, PHP, Javascript, HTML, CSS
    • Datenbanken und Abfragen mit SQL
    • 2D / 3D - Gestaltung
    • Mathe, Physik, Gerätetechnik, RoBs
    • Audio- / Videotechnik
    • ...und vieles mehr

Anmelden

Warum registrieren?

Weil besser als gut!

 

Prog2 Aufgabe - static memb

Das 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


Kategorie: Programmieren2
| Mehr

Zahlen & Daten

  • 549 Seitenaufrufe
  • 1116 Tage alt
  • 5 Versionen
  • Letzte Änderung: 29.04.2009 um 17:00 Uhr

Publish