A: Something to let your class to grant access to another class or function.
Friends may be either classes or functions. Class grants access privileges to its friends. In general a developer has political & technical control on both the friend & member functions of a class (else you may require getting permission from the owner of the other pieces while you wish to update your own class).