Am not sure why you want to structure your class manipulator this way, but to understand the mechanism of the Inner class consider that for the Inner class to access OUter class members, outer class should declare Inner as a friend:
class Outer
{
int area;
class Inner1;
friend class Outer::Inner1;
class Inner1
{
Outer* parent;
public:
Inner1(Outer* p) : parent(p) {}
void Set(int x){p->area= x;}
} inner1;
// ... more stuff
};
If you want to check out with more detail, I recommend you to look at the design pattern example Chapter 11 Vol 2 Thinking in C++