000
30.06.2004, 23:22 Uhr
songbird
|
Wir haben eine Oberklasse namens Staff. Manager, Head und Employee sind Unterklassen von Staff. Promanager ist wiederum eine Unterklasse von Employee.
Wir sollen ein Array erstellen, dass 100 Plätze hat und das zu Begin ein Manager, 2 Heads und 10 Employees enthält. Das Array muss dann also von Typ Staff sein. Der Bezeichner ist persons.
Jede dieser 5 oben genannten Klassen hat eine Methode namens int showMenu(string name). Je nach Mitarbeiter-Status werden dort unterschiedliche Hauptmenüs definiert. Wenn sich also ein Head anmeldet soll ein anderes Menü ausgegeben werden, als wenn sich ein Manager anmeldet. Der Rückgabewert ist dann die jeweilige Menüpunkt-Wahl der Person, die dann in einer switch-case "ausgewertet" wird.
Unser erstes Problem ist jetzt, dass wir ja auf unterschiedliche showMenu()'s zugreifen müssen. Mit persons[pos].showMenu("Hans Meier") wird aber immer in die Klasse Staff verzweigt, da persons ja vom Typ Staff ist. Es müsste aber in die Klasse verzweigt werden, von dessen Typ das Objekt an der Array-Stelle "pos" ist...
Das zweite Problem: die einzelnen Klassen haben unterschiedliche Methoden, die durch die switch-case nach der Menü-Auswahl aufgerufen werden sollen. Die switch-case steht aber in der Datei run.cpp, die Methoden ja in den jeweiligen cpps zu den zugehörigen Klassen. Wir dachten, dass es zB mit Manager::engageStaff(); geht... Das ist aber nicht der Fall...
Wäre super wenn uns jemand helfen könnte Dieser Post wurde am 30.06.2004 um 23:22 Uhr von songbird editiert. |