Определения вложенных классов C++

Просто был быстрый вопрос об определении функций с помощью вложенных классов.

Учитывая пример ниже:

class OuterClass   {
     class InnerClass{
         public:
         void someMethod();
     };

     InnerClass someFunction();

};

Я понимаю, что для определения someMethod в.cpp вы можете сделать:

 void OuterClass::InnerClass::someMethod() { 
    // stuff}

Но как бы пошло определение для InnerClass someFunction?

1 ответ

Решение
OuterClass::InnerClass OuterClass::someFunction()
{
    // Code here...
}

Те же правила применяются к обоим InnerClass а также someFunction: они объявлены внутри OuterClassпоэтому они должны быть квалифицированы с OuterClass:: быть достигнутым.

Другие вопросы по тегам