#include <iostream>
using namespace std;
class hello;
class demo
{
private :
void fun()
{
printf ("Inside fun \n");
}
public :
void sun()
{
hello hobj;
hobj.run();
}
friend class hello;
};
class hello
{
private :
void run()
{
printf("Inside Run \n");
}
public :
void gun()
{
demo dobj;
dobj.fun();
}
friend class demo;
};
int main()
{
demo dobj1;
dobj1.sun();
cout<<"Inside Demo \n";
hello hobj1;
hobj1.gun();
cout<<"Inside hello \n";
return 0;
}
Как сделать два класса друзьями друг друга? Я знаю, как сделать одного друга класса другого класса, но не знаю, как сделать его другом друг друга, я пробовал отдельную декларацию вперед для обоих классов, которые все еще не работают? Можно ли сделать это ?Как сделать друг друга двумя классами?
он продолжает давать мне эти ошибки
error C2228: left of '.run' must have class/struct/union
error C2079: 'hobj' uses undefined class 'hello'
У вас уже есть то, что вы хотите. Вы хотели спросить о проблеме, которую вы испытываете с помощью функции 'sun', говорящей, что' hobj' имеет неполный тип? – NathanOliver
В чем проблема, точно? – edtheprogrammerguy
Рассмотрите возможность сделать их одним и тем же классом, если они плотно связаны. – chris