I want to make a class that can only have its methods called by one other class.

I am thinking right now that I should make everything private, and then make the other class a friend. I am not into the idea of letting the other class have access to my private data members however. If friendship is the only way to achieve this behavior, I think it is worth it however.

I was wondering if anybody else has run into this issue, and what is the best way to approach it.