インナークラスからアウタークラスのprivateメンバにアクセス出来る。

class Hoge
{
public:
	class Fuga;
private:
	static void PrivateFunc()
	{
	}
};

class Hoge::Fuga
{
public:
	class Piyo;
private:
	static void PrivateFunc()
	{
		// インナークラスからアウタークラスのprivateメンバにアクセス出来る
		Hoge::PrivateFunc();
	}
};

class Hoge::Fuga::Piyo
{
public:
	static void PublicFunc()
	{
		Fuga::PrivateFunc();
		
		// インナークラスのインナークラスからもアクセス出来る
		Hoge::PrivateFunc();
	}
};

int main()
{
	Hoge::Fuga::Piyo::PublicFunc();
	return 0;
}