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).