1 
2 struct point
3 {
pointpoint4   point() {}
pointpoint5   point(int x, int y)
6     : x_(x)
7     , y_(y)
8   {
9   }
10   int x_, y_;
11 };
12 union u
13 {
14   point p_;
15   int i_;
16   const char* s_;
17 };
18