嵌套类定义C ++

sjy*_*sjy 1 c++ inner-classes

只是有一个关于使用嵌套类定义函数的快速问题。

给出以下示例:

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

     InnerClass someFunction();

};
Run Code Online (Sandbox Code Playgroud)

我了解.cpp中someMethod的定义,您可以执行以下操作:

 void OuterClass::InnerClass::someMethod() { 
    // stuff}
Run Code Online (Sandbox Code Playgroud)

但是InnerClass someFunction的定义又如何呢?

Nax*_*im' 6

OuterClass::InnerClass OuterClass::someFunction()
{
    // Code here...
}
Run Code Online (Sandbox Code Playgroud)

InnerClasssomeFunction都适用相同的规则:它们在内部声明OuterClass,因此必须符合它们的条件OuterClass::