两个类互为友元,其中一个类调用另一个类的成员函数为什么还要报错,另外show_moe(class Moe moe);是什么含义代码如下
#include <iostream.h>
#include <string.h>
class Curly
{ public:
Curly(char *msg){strcpy(message,msg);};
void show()
{cout<<message<<endl;};
friend class Moe;
void show_moe(class Moe moe);
private:
char message[256];
};
class Moe
{public :
Moe(char *msg){strcpy(message,msg);};
friend class Curly;
void show_message(void){cout<<message<<endl;};
void show_curly(class Curly curly);
private:
char message[256];
};
void Curly::show_moe(class Moe moe){cout<<moe.message<<endl;};
void Moe::show_curly(class Curly curly){cout<<curly.message<<endl;}
void main(void)
{class Moe moe("Nuck,nuck,nuck");
class Curly curly("Whoop,whoop,whoop");
moe.show_message();
moe.show_curly(curly);
//下行报错 'show_message' : is not a member of 'Curly'
curly.show_message();
curly.show_moe(moe);
}