Определения вложенных классов 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::
быть достигнутым.