Локальный класс и Вложенный класс - разные звери.
A Вложенный класс - это класс, объявленный в рамках другого класса.
A Локальный класс объявлено в определении функции.
Внутренний класс - это нестандартный термин C ++, поэтому я не уверен, как его определить.
Вложенные классы:
Документация IBM в виде приятной документации здесь .
Подводя итог:
- Имя вложенного класса является локальным для включающего его класса.Если вы не используете явные указатели, ссылки или имена объектов, объявления во вложенном классе могут использовать только видимые конструкции, включая имена типов, статические члены и перечислители из включающего класса и глобальных переменных.
- Функции-членывложенные классы следуют правилам обычного доступа и не имеют специальных привилегий доступа для членов своих вмещающих классов.Функции-члены включающего класса не имеют специального доступа к членам вложенного класса
Локальные классы:
Этот мой ответ здесь документирует тонкие точки, связанные с местными классами.