C++静态成员的使用。例子当中有些不理解

来源:百度知道 编辑:UC知道 时间:2024/05/29 04:28:15
#include<iostream.h>
#include<string.h>
class staff
{
private:
char name[30];
int age;
char sex;
static staff *pFirst;
staff *pNext;
public:
static int count;
staff(char *n, int a, char s);
~staff();
static staff *findname(char *pname);
void display();
};

static staff *pFirst; //这个什么遗失啊?私有静态数据成员吗?但是为什么是类类型啊?
staff *pNext; // 这个怎么也是类类型啊?都还没有执行掉。程序怎么搞的。

我的问题出在哪里,说一下

这是一个链表,你C语言没学好吧,学数据结构会讲得更清楚些。

static staff* pFirst; // 指向staff的指针,在这里指向一个链表的第一个元素,他可以指向自己,代表自己是第一个元素。static是静态的,那么在任何地方都可以获得这个链表。

staff *pNext; // 指向下一个staff 实例.
链表是这样的:
A->B->C->D
一个接一个,串起来,那么它必须要有下一个的指针。
如果这个指针为NULL,就说明它没有后继的元素。
是一个储存数据数目变化很大,常要插入和删除数据的结构。
行为像一个大小可以变化的数组

你的给的代码没错,错在你没给的部分。