Pregunta

Tengo una clase que solo las clases realmente necesitan en una determinada jerarquía de clases. Quería saber si es posible anidar la clase en la sección protegida de la clase más alta y hacer que todas las demás clases la hereden automáticamente.

¿Fue útil?

Solución

" Heredar " es la palabra incorrecta para usar, ya que tiene una definición muy específica en C ++ que no quiere decir, pero sí, puede hacerlo. Esto es legal:

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

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

Y el código que no está en A o algo que se deriva de A no puede acceder o instanciar A :: Anidado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top