C++ Getter/Setter Problem mit char Variable

Hm ok. Wie sollte ich es deiner Meinung nach machen?
Für jedes Objekt eine eigene UmfangMethode() schreiben?
 
Leute? Keiner mehr da? Ich werde noch wahnsinnig mit dieser Aufgabe:(
Kann mir keiner helfen?
 
Manda hat gesagt.:
Leute? Keiner mehr da? Ich werde noch wahnsinnig mit dieser Aufgabe
Dabei hast du noch nichtmal gesagt wie die Aufgabe überhaupt genau lautet...

In der GeomObjekt Klasse kannst du doch überhaupt keinen Umfang berechnen. Du weißt doch gar nicht was dieses geom. Objekt nun ist - ist es ein Kreis, ein Rechteck oder doch irgendwas anderes?!

Deshalb sollte die GeomObjekt Klasse abstrakt sein, d.h. die berechneUmfang Methode rein virtuell. Damit wird jede abgeleitete Klasse gezwungen diese Methode geeignet zu überschreiben:
C++:
class GeomObjekt {
public:

   virtual double berechneUmfang() const = 0; // rein virtuell == keine Implementierung hier
};

class Rechteck : public GeomObjekt {
  int a, b;
public:
  Rechteck (int seiteA, int seiteB) : a(seiteA), b(seiteB) {}

  virtual double berechneUmfang() const {
    return 2 * a + 2 * b;
 }
};

class Kreis : public GeomObjekt {
  int r;
public:
  Kreis (int radius) : r(radius) {}

  virtual double berechneUmfang() const {
    return ...;
 }
};

...

void printUmfang(const GeomObjekt& o) {
  cout << o.berechneUmfang() << endl;
}

Rechteck r(3, 5);
Kreis k(5);

printUmfang(r);
printUmfang(k);
Gruß
 
Zuletzt bearbeitet:
@deepthroat - Danke für die Tips. Ich hab mal von A-Z aufgeräumt und die Fehler mal behoben.
Das Programm läuft jetzt, konnte die Probleme beseitigen.
Auch Danke an alle anderen!

Gruß
Manda
 
Zurück