2017-02-12 27 views
1

ネストされたクラスで関数を定義することについて簡単に質問がありました。ネストされたクラスの定義C++

以下の例を考える:私はあなたが行うことができた.cpp内のsomeMethodの定義について理解

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

    InnerClass someFunction(); 

}; 

を:

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

しかし、どのようにInnerClass someFunctionの定義が行くのでしょうか?

+1

'InnerClass OuterClass :: SomeFunction(){...}' – kebs

+0

技術的には、これは "メソッド"(別名メンバ関数)でもあり、 'someMethod()'と他の 'someFunction()'を呼び出すのは誤解を招く、 – kebs

答えて

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

同じ規則がInnerClasssomeFunctionの両方に適用されます:彼らはOuterClass内で宣言されているので、彼らは到達することがOuterClass::で修飾する必要があります。

関連する問題