Question

I have a class that only really ever needed by classes in a certain class hierarchy. I wanted to know if it is possible to nest the class in the highest class's protected section and have all the other classes automatically inherit it?

Was it helpful?

Solution

"Inherit" is the wrong word to use since it has a very specific definition in C++ which you don't mean, but yes you can do that. This is legal:

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

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

And code that is not in A or something that derives from A cannot access or instantiate A::Nested.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top