在需要允许某些特定的非成员函数访问一个类的私有成员,而同时仍阻止一般的访问的情况下,友元机制是个有用的东西。 优点:可以灵活地实现需要访问若干类的私有或受保护成员才能完成的任务,便于与其他不支持类的语言进行混合编程;通过使用友元函数重载可以更自然第使用C++语言的I/O流库。 缺点:一个类将对非公有成员的访问权授予其他的函数或类,会破坏该类的封装性,降低该类的可靠性和可维护性。(参考别人的)