Share friend function between classes : friend function « Class « C++ Tutorial






#include<iostream.h>
class MyClassB;

class MyClassA
{
  char *name;
public:
         MyClassA(char *s){name=s;}
       friend void print(MyClassA &,MyClassB &);
};
class MyClassB
{
  char *name;
public:
       MyClassB(char *s){name=s;}
       friend void print(MyClassA &,MyClassB &);
};
void print(MyClassA &a,MyClassB &b)
{
  cout<<"the MyClassA is"<<a.name<<endl;
  cout<<"the MyClassB is"<<b.name<<endl;
}
int main()
{
       MyClassA s("Li Hu");
       MyClassB t("Wan Ping");
       print(s,t);
}
the MyClassA isLi Hu
the MyClassB isWan Ping








9.22.friend function
9.22.1.A friend function
9.22.2.Friend functions can be shared by two or more classes
9.22.3.A function can be a member of one class and a friend of another
9.22.4.Share friend function between classes
9.22.5.friend square() function for Distance
9.22.6.Friend functions and operator overloading
9.22.7.Friend functions can access private members of a class