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? - Wie viele aufrufbare Methoden hat jede Klasse? (Konstruktoren nicht mitgezählt) 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. ( ) Aufruf Gedenkmuenze() ( ) Aufruf Geld() ( ) Aufruf Muenze() ( ) Setze Gedenkmuenze::motiv ( ) Setze Muenze::dicke und Muenze::durchmesser ( ) Setze Geld::wert ( ) Ende Geld() ( ) Ende Gedenkmuenze() ( ) Ende Muenze()