Listing 6 A member function defined as a friend in another class

 1:  struct X
 2:      {
 3:      static int i;
 4:      class Y
 5:              {
 6:              void f();
 7:              };
 8:      };
 9:
10: class Z
11:     {
12:     static int i;
13:     friend void X::Y::f()
14:             {
15:             i = 5;
16:             }
17:     };

// End of File