M
Hallo,
ich bin der meinung die methode zeichne() der klasse GraphElem sollte abstrakt sein, da man ein element hat von dem nicht wirklich definiert ist wie es aussieht kann man es auch nicht zeichnen.
class GraphElem
{
public:
GraphElem(float x, float y);
~GraphElem {}
virtual void zeichne()=0; //<= abstrakt und dementsprechend keine implementierung
void verschiebe(float x, float y);
protected:
float x0, y0;
}
Ein Rechteck muss mit 4 werten initialisiert werden, x und y wert des Punktes und dann die hoehe und breite (die nach der aufgaben stellung auch hoehe und breite genant werden sollen, x1 und y1 verwirt nur den leser). dann benutzt du die werte die dem konstruktor uebergeben werden welche den Punkt (also x und y) repraesentieren und übergibst sie dem konstruktor der basisklasse (GraphElem) und die beiden anderen speicherst du selbst ab.
class Rechteck : public GraphElem
{
public:
Rechteck(float x, float y, float h, float b);
~Rechteck {}
void zeichne(float x, float y);
protected:
float hoehe, breite;
}
Rechteck::Rechteck(float x, float y, float h, float b){
GraphElem(x,y);
hoehe = h;
breite = b;
}
desweiteren ist das eine sehr gaengige aufgabe fuer die w*****einlich tausende loesungen in buechern und im inet zu finden sind