C++中怎么在多个文件中使用友元函数

C++中如何在多个文件中使用友元函数?
我有两个类,分别是Book类和Manage类,我在Manage类中有一个数据成员为Book类的链表,希望能够通过Manage类实现对Book链表的管理操作。但是我的Manage类中有一个操作需要允许对Book类中的每个数据成员进行逐个修改,Book类的数据成员都是private属性。如果我对Book类中的每个数据成员都写一个接口函数的话,就相当于直接将所有数据成员都变成public属性,但是我希望的是Book类的数据成员对于除Manage类之外的其它类是无法访问,只有Manage类可以访问,所以我就想到了用友元函数,希望能够将Manage类中修改Book类数据成员的成员函数设置为Book类的友元函数,这样它就可以访问Book类的所有数据成员。但是在设置友元函数时,发现了以下问题:
    由于Manage类中需要用到Book类,所以我在Manage类的头文件中包含了Book类的头文件,但是,如果我要在Book类中将Manage类中的成员函数设置为友元函数,又必须在Book类的头文件中包含Manage类的头文件,否则,在Book类的头文件中就找不到Manage类的定义。这样就造成了互相包含,这是不可行的,程序连编译都无法通过。
    所以,在此想请教一下各位大虾们,我该怎么样才能达到我的目的?
    我的可用分不是很多了,所以给分可能比较少,还请各位大虾谅解一下。
------解决方案--------------------
在Manage采用包含的方式就可以了,直接使用BOOK中的数据,直接调用它的方法就成了,不要搞得太复杂
------解决方案--------------------
直接把Messege类设置为book类的友员不可一吗?这样就不用includeMessege类了