Der Scope-Operator (2/2)

Eine Implementierung des inherited-Befehls

Will man die Basisklasse aufrufen, so muß ihr Name bekannt sein. Manche Programmierer schätzen den aus anderen Programmiersprachen bekannten inherited-Befehl für den Aufruf der direkten Basisklasse. Dieser ist in C++ nicht bekannt, kann aber folgendermaßen implementiert werden:

  class quadrat : public kasten
  {
    typedef kasten inherited;
    public:
      quadrat(int x = 0) : kasten (x, x) {}
      virtual void zeichne() { inherited::zeichne();}
  };

Bei der Definition von Methoden muß sich dann der Programmierer keine Gedanken mehr darüber machen, wie die Basisklasse heißt. Wegen der Sichtbarkeitsregeln ist es auch kein Problem diese Methodik in jeder weiteren abgeleiteten Klasse zu verwenden.