001
17.11.2008, 12:33 Uhr
ao
(Operator)
|
Zitat: |
Implementieren Sie eine Klasse Pkw nach folgenden Angaben. ·Definieren Sie dazu Datenelemente marke vom Typ char * ...
|
Ächz. Schon wieder ein Prof, der noch nix von std::string gehört hat und meint, C++ wär nur C mit Klassen.
War nicht "Verbesserung der Lehre" ein Zweck der Studiengebühren? Hier gibts viel Potential, würde ich sagen.
Zu deinem Problem: Wir sehen den Code, aber wo hängts denn?
In dem Konstruktor verwendest du etwas, das pkwobj heißt. Das brauchst du nicht, du bist da bereits in einem PKW-Objekt und kannst marke, fgstnr und leistung direkt ansprechen.
eingabe und ausgabe sind so, wie sie da stehen, Entwurfsfehler. Die Klasse pkw hat eine Methode eingabe, die N neue Instanzen vom Typ pkw erzeugt - das ist Unsinn, ein PKW erzeugt keine anderen PKWs. Denkbar wäre eine sogenannte "statische Fabrikmethode", aber so weit seid ihr bestimmt noch nicht, und in der Aufgabenstellung steht auch nix davon.
Für die Ausgabe gilt dasselbe: Ein PKW kann nicht die Daten von mehreren anderen anzeigen, nur seine eigenen. Beim OO-Entwurf immer im Hinterkopf behalten: Du modellierst die Realität, und wenn du dabei Fehler machst, hast du später Schwierigkeiten, reale Aufgabenstellungen abzubilden.
Du sollst einen Konstruktor schreiben. Hast du gemacht, aber dem fehlen noch die Default-Argumente für marke und leistung. Und dann sollst du Zugriffsmethoden für die Membervariablen schreiben, also Setter und Getter für Marke, Fahrgestellnummer und Leistung. Wobei alle drei eigentlich unveränderlich sind - brauchen die einen Setter? Dieser Post wurde am 17.11.2008 um 12:34 Uhr von ao editiert. |