读书人

关于友元的有关问题

发布时间: 2012-03-03 15:33:02 作者: rapoo

关于友元的问题
两个问题
//文件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

读书人网 >C++

热点推荐