Vererbung
-
Hallo,
ich befasse mich gerade mit dem Thema Vererbung. Dazu habe ich speziel zur Redefinition von Methoden in der Abgeleiteten Klasse eine Frage.rechteck.GraphObj::flaeche();GraphObj ist die Basisklasse. Rechteck die abgeleitete. flaeche() wurde redefiniert. Mit dem Code oben soll man auf die flaeche() Methode der Basisklasse zugreifen können.
Ich weiß, dass bei der Vererbung die Basisklasse als Objekt geerbt wird. Nur verstehe ich den Syntax nicht ganz. Also was der Doppelpunkt da macht. Kann ich mir das so vorstellen, das diese Methoden in der Erbklasse vorhanden sind:GraphObj::flaeche(); flaeche();
-
Kann ich mir das so vorstellen, das diese Methoden in der Erbklasse vorhanden sind:
Ja, wenn "flaeche()" auch in der abgeleiteten Klasse definiert wird.
Eine Klasse, die von einer anderen erbt, hat immer ein Unterobjekt der beerbten Klasse. Mit dem doppelten Doppelpunkt legst du einen Scope fest, in dem die Funktion gesucht werden soll.
Genauso wie std:: im Standardnamensraum sucht, sucht GraphObj:: im Scope der Klasse GraphObj.