This question relates very closely to Can a nested C++ class inherit its enclosing class?
My situation is complicated with templates which seemingly mean that the previous answer no longer works.
class Animal
{
template <typename T>
class Bear : public Animal
{
// …
};
template <typename T>
class Giraffe : public Animal
{
// …
};
};
// example usage
struct MyAnimal : Animal::Bear<Animal> { };
MyAnimal a;
Can something like this be made to work?