C++中在头文件中Node *head;在其他实现文件中为什么不能被识别?

我的头文件中structNode{charname[20];charnum[20];intage;charsex[5];charaddress[20];chartel[2... 我的头文件中
struct Node
{
char name[20];
char num[20];
int age;
char sex[5];
char address[20];
char tel[20];
char snum[20];
Node * next;
};

class CStudent
{
public:
CStudent(Node *head=NULL);
friend void Input();
friend void Delete();
friend void Change();
friend void Find();
friend void Total();
friend void Display();
private:
Node *head;

};

在其它函数中再用head时就不会被识别,怎么回事?》
展开
 我来答
wanfustudio
2011-06-16 · TA获得超过1万个赞
知道大有可为答主
回答量:5513
采纳率:100%
帮助的人:3756万
展开全部
概念没理解对啊, Node *head; 这个是类的成员变量啊, 只属于这个类
而且还设置成了私有成员, 外面不能直接访问的

首先对概念加强下了解吧
追问
我是在友元函数中使用私有成员的,应该可以访问,我定义的都是友元函数,
追答
呵呵,那还是不行,友元函数也要通过类来访问类的成员变量的,举个例子吧
class CStudent
{
public:
CStudent(Node *head=NULL);
friend void Input();
friend void Delete();
friend void Change();
friend void Find();
friend void Total();
friend void Display(CStudent & s);//////////必须这样
private:
Node *head;

};

void Display(CStudent & s)
{
Node *p = s.head;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式