2017-02-12 2 views
1

Ich hatte gerade eine kurze Frage zum Definieren von Funktionen mit geschachtelten Klassen.geschachtelte Klassendefinitionen C++

nachstehendes Beispiel Gegeben:

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

    InnerClass someFunction(); 

}; 

ich für die Definition von irgendeinemethode in einer CPP verstehen Sie tun können:

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

Aber wie die Definition für Innerclass somefunction gehen würde?

+1

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

+0

Technisch ist es auch eine "Methode" (alias Mitgliedsfunktion), also ruft man 'someMethod()' und die andere 'someFunction()' irreführend, – kebs

Antwort

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

die gleichen Regeln gelten sowohl für InnerClass und someFunction: sie sind im Inneren OuterClass erklärt, so müssen sie mit OuterClass:: qualifiziert werden erreicht werden.

Verwandte Themen