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.