Я пытаюсь сделать следующее:Может ли вложенный класс C++ наследовать свой охватывающий класс?
class Animal
{
class Bear : public Animal
{
// …
};
class Giraffe : public Animal
{
// …
};
};
... но мой компилятор, кажется, задушить на этом. Является ли это законным C++, а если нет, есть ли лучший способ сделать то же самое? По сути, я хочу создать более чистую схему именования классов. (Я не хочу выводить Animal
и внутренние классы из общего базового класса)
Для начала, вы должны следовать за скобками закрытия с запятой после объявления класса. –
Я не понимаю, почему вы хотели бы это сделать. Если я правильно пойму, класс Bear будет иметь внутри него класс Bear, который ... кажется немного странным. –