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);
}