问答题

#include <iostream.h>
class A
{ private:
int a;
public:
void func(B &);
A(int i){a=i; }
};
class B
{ private:
int b;
friend void A::func(B &);
public:
B(int i){b=i; }
};
void A::func(B& r)
{ a=r.b;
cout<<a<<endl;
void main()
{ B bt(3);
A at(10);
at.func (bt);
}

【参考答案】

void func(B &); 类A中使用类B的对象,故应增加对类B的声明。应在class A前增加class B; 。