嵌套 class 定义

Nested class definitions

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

给出以下示例:

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

     InnerClass someFunction();

};

我理解你可以在 .cpp 中定义 someMethod:

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

但是 InnerClass someFunction 的定义会怎样呢?

OuterClass::InnerClass OuterClass::someFunction()
{
    // Code here...
}

相同的规则适用于 InnerClasssomeFunction :它们在 OuterClass 内声明,因此它们必须符合 OuterClass:: 才能达到。