friend
Here are a few reasons why friend is a bad idea: * friend is not required. It is convenient, but not required * friend supports bad design. If one class requires friend access to another, you're doing it wrong. (see above, convenient, not required). * friend breaks encapsulation. Basically, all my privates are belong to me, and that guy over there (my friend).