Frage

Ich habe eine Klasse, die nur wirklich jemals von Klassen in einer bestimmten Klassenhierarchie benötigt. Ich wollte wissen, ob es die Klasse zu nisten in der höchsten Klasse des geschützten Bereich möglich ist, und haben alle anderen Klassen automatisch erben?

War es hilfreich?

Lösung

„Vererben“ ist das falsche Wort zu verwenden, da es eine sehr spezifische Definition in C ++ hat, die Sie bedeuten nicht, aber ja Sie kann das tun. Das ist legal:

 class A {
   protected:
   class Nested { };
 };

 class B : public A {
   private:
   Nested n;
 };

Und Code, der nicht in A oder etwas ist, das von A ergibt sich nicht zugreifen kann oder instanziiert A :: Nested.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top