Domanda

Ho una classe che solo in realtà ha sempre avuto bisogno delle classi in una certa gerarchia di classi. Volevo sapere se è possibile nidificare la classe nella sezione protetta della classe più alta e far sì che tutte le altre classi la ereditino automaticamente?

È stato utile?

Soluzione

" Eredita " è la parola sbagliata da usare poiché ha una definizione molto specifica in C ++ che non intendi, ma sì, puoi farlo. Questo è legale:

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

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

E il codice che non è in A o qualcosa che deriva da A non può accedere o creare un'istanza di A :: Nested.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top