使用友元和未使用友元 的问题

使用友元时的问题
friend void boy::disp(girl&);
void boy::disp(girl& x)
void main()
{
boy b("Chen Hao", 25);
girl e("Zhang Wei", 18);
b.disp(e);
}
想问一下这里的(girl&) (girl&x) b.disp(e)都是什么意思。
未使用友元的问题
#include
#include
using namespace std;
class girl;
class boy {
public:
boy(const char* n, int d)
{
name = new char[strlen(n) + 1];
strcpy(name, n);
age = d;
}
void disp()
{
cout << "Boy\′s name is " << name << ",age:" << age << "\n";
}
~boy()
{
delete name;
}
private:
char* name;
int age;
};

class girl {
public:
girl(const char* n, int d)
{
name = new char[strlen(n) + 1];
strcpy(name, n);
age = d;
}
~girl() { delete name; }
void disp()
{
cout << "Girl\′s name is " << name << ",age:" << age << "\n";
}
private:
char* name;
int age;
};
void main()
{
boy b("Chen Hao", 25);
girl e("Zhang Wei", 18);
b.disp(e);//这里报错
函数调用中的参数太多
}