added incomplete type and friend class in ch07