Hilfe bei einer Aufgabe
-
Habe folgende Aufgabe
http://www.bilder-upload.eu/upload/9e4fbf-1432665959.png
Hier meine CPoint.h :
/* * CPoint.h * * Created on: 26.05.2015 * Author: bUu */ #ifndef CPOINT_H_ #define CPOINT_H_ class CPoint { private: double m_x; double m_y; public: CPoint(); CPoint(double x, double y); void setXY(double x, double y); double getX(); double getY(); void move(double deltaX, double deltaY); }; #endif /* CPOINT_H_ */Und meine CPoint.cpp :
/* * CPoint.cpp * * Created on: 26.05.2015 * Author: bUu */ #include "CPoint.h" CPoint::CPoint() { m_x = 0; m_y = 0; } CPoint::CPoint(double x, double y) { m_x = x; m_y = y; } CPoint::setXY(doublex, double y) { m_x = x; m_y = y; }Stimmt das soweit?
Liebe Grüße
-
Initialisierungslisten bei den Konstruktoren.
buu2188 schrieb:
CPoint::setXY(doublex, double y)Rückgabewert? Bei
double xfehlt ein Leerzeichen.buu2188 schrieb:
class CPoint { //… public: //… double getX(); double getY(); void move(double deltaX, double deltaY); };Noch nicht implementiert.
-
double CPoint::getX() { return m_x; } double CPoint::getY() { return m_y; }Sonst stimmt der Rest?
Nur für CPoint::move() hab ich noch keine Idee

-
Du hast nicht alle Funktionen implementiert.
Warum hast du Zweifel? Hast du die Klasse getestet?
-
Wollte nur sicher gehen das ich soweit richtig gearbeitet habe

Hab ja extra geschrieben stimmt es "soweit"

Liebe Grüße
-
Hallo,
buu2188 schrieb:
Stimmt das soweit?
Nein - da stimmt nichts - und ich meine nicht Deine Lösung dieser Aufgabe, sondern die Aufgabenstellung selbst. Die Aufgabenstellung impliziert eine Lösung, die gefühlt von OOP mit C++ so weit weg ist, wie die Herstellung von Faustkeilen von moderner Massenfertigung. Das ist echt der Stil von vor 20 Jahren.
Allein die Methode
CPoint::setXYist völlig überflüssig. Das gleiche kann man mitCPoint p = ..; p = CPoint(-1,2); // statt p.setXY(-1,2); // .. oder p = {-1,2};erreichen.
CPoint::moveist auch so ein Kandidat. Besser wäre hier einoperator+().
Und von const-correctness habt Ihr bestimmt auch noch nichts erzählt bekommen - oder?Tipp: wechsele den Kurs/Dozenten, schlimmer kann es kaum werden.
Gruß
Werner
-
@Werner
Meinst du wirklich dass dein Tipp sinnvoll ist?
Also dass er einfach die Möglichkeit hat ihn in die Tat umzusetzen?Was ich so von den Unis mitbekommen habe ... da hat man einfach nicht die Auswahl. Man kann höchstens noch die Uni wechseln. Oder warten und hoffen dass der Kurs in den nächsten Semestern mal von jmd. anderem gemacht wird.
Und dass beides enorme Nachteile mit sich bringt sollte klar sein.
-
Werner Salomon schrieb:
Tipp: wechsele den Kurs/Dozenten, schlimmer kann es kaum werden.
Dafür dass hier lediglich eine Aufgabe aus dem Kurs zu sehen ist, lehnst du dich ganz schön weit aus dem Fenster. Während du mit deinen Einwänden zwar tatsächlich elegantere Varianten vorschlägst, in der Anwendung von C++ Kompetenz beweist, kann man letzteres leider nicht über deine Bewertung der vorliegenden Fakten sagen.
Ich kann in der Aufgabenstellung jedenfalls keine groben Schnitzer erkennen und alle deine Enwände liegen oberhalb von "Aufgabe 1 für Anfänger"-Level. Wenn am Ende des Kurses die von dir erwähnten Techniken immer noch nicht gelehrt wurden, möchte ich dir gerne beipflichten - bei jetzigem Informationsstand ist deine Aussage jedoch nicht sonderlich gut begründet. Woher willst du wissen, die nächsten Aufgaben nicht all das beinhalten, was du hier einwirfst?
Finnegan
-
Wie muss der Konstruktor hierfür aussehen, bzw. das ich diese ARt der Initialisierung verwenden kann ?
p = {-1,2};
-
c_tor? schrieb:
Wie muss der Konstruktor hierfür aussehen, bzw. das ich diese ARt der Initialisierung verwenden kann ?
p = {-1,2};Das geht jetzt schon. Braucht nur einen entsprechenden Kopier-Zuweisungsoperator.
-
Hallo hustbaer, hallo Finnegan,
natürlich habt Ihr Recht. Mein Beitrag ist aus einem Aufreger heraus entstanden - es ist ja auch nicht die erste Aufgabenstellung dieser Art, die wir hier im Forum zu sehen bekommen haben. Ich finde diese 'Aufgaben' schlicht zum Davonlaufen.
Und nein - mein Tipp ist auch nicht sinnvoll.Was kann man buu2188 raten - wenn man ihm überhaupt irgendwas raten sollte.
@buu2188: Du studierst nach eigener Aussage Maschinenbau und Programmieren ist wahrscheinlich irgend ein Schein im Nebenfach. D.h. nicht so wichtig - Hauptsache bestanden.
Wenn Du Interesse an der Sache hast, so diskutiere Deine Lösungen (oder Lösungsversuche) hier im Forum. Besorge Dir vielleicht noch das eine oder andere Buch zum Thema. Und lasse Dich nicht von negativen Kommentaren (z.B. meinerseits) abschrecken.
Und ganz Allgemein und beim Programmieren ganz besonders gilt: Übung macht den Meister - programmiere selber, dann lernst Du es auch.In diesem Sinne
Gruß Werner