c++面向对象之友元函数问题

问题遇到的现象和发生背景

c++怎么让两个类的成员函数通过友元函数互相使用呢?

用代码块功能插入代码,请勿粘贴截图
//这个是名为20221012.cpp的文件
#include"classoss1.h"
class oss{
public:
    friend void oss1::show(oss &emp);//oss1的友元
    void pubo(oss1& emp);
private:
    string name1;
};
void oss::pubo(oss1 &emp){
    cin>>name1;
    cout<>emp.name1;
    cout<int main()
{
    oss www;
    oss1 qqq;
    www.pubo(qqq);//
    qqq.show(www);//oss和oss1的函数互相调用

return 0;
}

********************************************************
//作为头文件classoss1.h
#include"20221012.cpp"
#include"Mobile.h"
class oss1{
public:
    void show(oss& emp);
friend void oss::pubo(oss1 &emp);//oss的友元
private:
    string name1;
};
class oss;
void oss1::show(oss &emp){
    cin>>emp.name1;
    cout<
运行结果及报错内容

c:\users\dell\desktop\c.test\classoss1.h(2) : warning C4182: #include nesting level is 363 deep; possible infinite recursion
c:\users\dell\desktop\c.test\classoss1.h(2) : fatal error C1076: compiler limit : internal heap limit reached; use /Zm to specify a higher limit

我的解答思路和尝试过的方法

我知道是调用太深了,但是不知道怎么解决

我想要达到的结果

实现两个类之间通过友元函数互相调用成员

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^