Zugriffsmöglichkeiten auf Elemente - Zusammenfassung (2/2)

Verkapselung von Konstruktoren und Destruktoren

Zu beachten ist, daß auch Konstruktoren und Destruktoren in dieses Schema abgebildet werden können. So kann eine Klasse, die einen protected-Konstruktor besitzt, nicht im Porgramm erzeugt werden, sondern kann nur der Ableitung dienen, da auf ihren Konstruktor nicht zugegriffen werden kann. Eine Klasse, die gar einen private-Konstruktor besitzt kann gar nicht erzeugt werden. Selbstverständlich gelten die Ausnahmen über friend-Deklarationen. Denkbar ist es auch die Verfügbarmachung von Konstruktoren von ihrern Parametern abhängig zu machen.

  class quadrat : public kasten
  {
    friend class X;
    public:
      kasten();
    private
      kasten(int);
  };

Nur die Klasse X, als Freund der Klasse quadrat, ist es gestattet quadrat-Objekte zu erzeugen und gleich mit einem Integer zu besetzen. Alle anderen Klassen dürfen nur den Default-Konstruktor aufrufen.