A function needs access to private variables in two classes
Matrix Vector multiplication is a compelling, practical example of this approach, see §19.4 in The C++ Prog. Lang. (4. edition)