Chap13_3. Friend Functions
A friend function can access a class's private data, even if it is not a member function of the class.
 
// frd.cpp
#include <iostream.h>
class registrar
   {
   private:
      char grade[10];
   public:
      void update(int i, char g)  { grade[i] = g; }
      void transcript(int i) { cout << grade[i]; }
      friend void frd(registrar&, int, char);  // friend function
   };

void frd(registrar& x, int i, char g)            // function definition
   {
   x.grade[i] = g;
   }

void main()
   {
   registrar aUnivReg;

   aUnivReg.update(0, 'E');
   aUnivReg.transcript(0);

   frd(aUnivReg, 0, 'A');      // possible illegal update
   aUnivReg.transcript(0);
   }