struct B;
extern void F(B* b);
struct B
{
struct A //尽管A是B内部的类,但声明了友元只能归这个类自己使用,而且不能被继承
{
friend void F(B* b);
};
private:
int data;
};
void F(B* b)
{
cout << b->data << endl;
}
int main()
{
B b;
F(&b);
return 0;
}
友元无法被继承,且严格地只属于一个类