Vererbung - Was soll das? (2/2)

Die Methode der Vererbung bietet hierfür die elegante Lösung der Vererbung: der Kasten ist ein Grafikobjekt und erbt alle Informationen und Fähigkeiten der Basisklasse. Die Deklaration ändert sich zu

  class kasten : public grafikobjekt
  {
    private:
      int x_laenge, y_lanege;
    public:
      kasten();
      kasten(int x, int y, int xl, int yl) : grafikobjekt(x,y), x_laenge(xl), 
        y_laenge(yl) {};
      virtual void zeichne();  
      virtual void loesche();
  };

Mann nennt dann die grafikobjekt-Klasse die Basisklasse und die kasten-Klasse die abgeleitete Klasse. Positionsänderungen erfolgen dann in natürlicher Weise als

  kasten K(11, 7, 40, 20);
  K.setPos(33, 4);

Hierbei wird dann die Funktion setPos der Basisklasse aufgerufen. Diese ändert dann die Werte der entsprechenden Variablen.

Der Programmierer muß sich keine Gedanken um die Realisierung der Methoden der Basisklasse machen. Sie wird ihm frei Haus geliefert. Er muß nur die öffentlich zugänglichen Methoden und Elemente kennen, um mit ihnen arbeiten zu können.

Die Initialisierung der Elemente der Basisklasse erfolgt, in dem der Konstruktor des Basisklasse in die Konstruktorinitialisierungsliste aufgenommen wird und evtl. mit Parametern aufgerufen wird. Wie wir schon gelernt haben sollten möglichst auch alle anderen Elemente in dieser Liste initialisiert werden, da so viel kostbare Rechenzeit gespart werden kann.