关于友元的问题
两个问题
//文件file1.h
class A
{
void WayA(B b);
void Ch();
}
//文件file2.h
class B
{
friend void A::ch();
}
这种写法是不是无法实现,必须把B改成friend class A才行?
//文件file1.h
#include "file2.h"
class A
{
void WayA(B b);
void Ch();
}
//文件file2.h
class B
{
friend class A;
}
为什么在file2.h中不需要声明A就可以运行
[解决办法]
为什么在file2.h中不需要声明A就可以运行
---
你在file2.h中并没有使用到A的具体接口,
只有你需要使用A的接口,或者定义A的对象时,才需要include A.h