Inner classes have special relationship with outer class instances. This relationship allows them to have access to outer class members including private members too .
Read moreCan inner classes access private members?
Non-static nested classes (inner classes) have access to other members of the enclosing class, even if they are declared private . Static nested classes do not have access to other members of the enclosing class.
Read moreCan inner class access outer class private variable?
Inner class is regarded as an attribute of the Outer class. Therefore, no matter the Inner class instance variable is private or not, Outer class can access without any problem just like accessing its other private attributes(variables) .
Read moreCan inner classes access outer class members C++?
An inner class is a friend of the class it is defined within. So, yes; an object of type Outer::Inner can access the member variable var of an object of type Outer .8 Kas 2011
Read more