Вы не можете сделать это, потому что для наследования требуется полное определение класса.Поскольку использование Bear
и Giraffe
в Animal
может повлиять на определение Animal, вы получите почти круговую зависимость.
Вместо этого сгруппируйте связанные классы в пространстве имен.Я не вижу причин, почему конкретные животные должны быть вложены в Animal
вообще.