PG2 - Programmieren C++ - SS 2009 - Übung 6 Fragen zur Vererbung 1. Gegeben sind die folgenden Klassen: class Geld { private: int wert; public: Geld(int); void setWert(int); int getWert(void); bool gueltig(int); }; class Muenze : public Geld { private: double durchmesser; double dicke; public: Muenze(int, double, double); void setDurchmesser(double); double getDurchmesser(void); void setDicke(double); double getDicke(void); bool gueltig(int); }; class Schein : public Geld { private: char farbe[250]; public: Schein(int, char *); void setFarbe(char *); char *getFarbe(void); bool gueltig(int); }; Die Methode gueltig() dient dazu, festzustellen, ob ein Zahlenwert einen gültigen Geldwert (1, 2, 5, 10, 20, 50, 100) darstellt. 2. Fragen zu den Klassen: - Wie viele Attribute hat jede der Klassen? Geld: 1 Muenze: 3 Schein: 2 - Wie viele aufrufbare Methoden hat jede Klasse? (Konstruktoren nicht mitgezählt) Geld: 3 Muenze: 7 Schein: 5 3. Ein zusätzliche Klasse wird eingeführt: class Gedenkmuenze : public Muenze { private: char *motiv; public: Gedenkmuenze(int w, double dick, double durch, char *m) : Muenze(w, dick, durch) { motiv = m; } }; - Der folgende Konstruktor wird aufgerufen: Geld *g = new Gedenkmuenze(500, 200, 2, "WM 2010); - In welcher Reihenfolge werden die (Eltern)-Konstruktoren aufgerufen und verlassen bzw. die Attribute gesetzt. (1) Aufruf Gedenkmuenze() (3) Aufruf Geld() (2) Aufruf Muenze() (8) Setze Gedenkmuenze::motiv (6) Setze Muenze::dicke und Muenze::durchmesser (4) Setze Geld::wert (5) Ende Geld() (9) Ende Gedenkmuenze() (7) Ende Muenze()