friend function
#include <stdio.h>
class A {
public:
A() {}
friend void xx(A &a);
private:
int a;
}
void xx(A &a)
{
printf("a :%d\n", a.a);
}
int main()
{
A a;
xx(a);
return 0;
}
friend member function
#include <stdio.h>
class B;
class A {
public:
A() {}
friend void B::xx(A &a);
private:
int a;
}
class B {
public:
A() {}
void xx(A &a)
{
printf("a :%d\n", a.a);
}
private:
int a;
}
friend class
#include <stdio.h>
class B;
class A {
public:
A() {}
friend class B;
private:
int a;
}
class B {
public:
A() {}
void xx(A &a)
{
printf("a :%d\n", a.a);
}
private:
int a;
}