//静态成员函数
#include<iostream.h>
#include<string.h>
class student
{
private:
char name[40];
int number;
static int count;
static student *pfirst;
student *pnext;
public:
student(char *);
~student();
static void findname(char*);
static void view();
};
int student::count=0;
student* student::pfirst=NULL;
student::student(char *pname)
{
strcpy(name,pname);
pnext=pfirst;
pfirst=this;
count++;
number=count;
};
student::~student()
{
if(pfirst==this)
{
pfirst=pnext;
count--;
return;
}
for(student* ps=pfirst;ps;ps=ps->pnext)
if(ps->pnext==this)
{
ps->pnext=pnext;
count--;
return;
}
};
void student::findname(char *pname)
{
for(student* ps=pfirst;ps;ps=ps->pnext)
if(strcmp(ps->name,pname)==0)
{
cout<<"find it,it is number "<<ps->number<<endl;
return;
}
cout<<"no find"<<endl;
return;
}
void student::view()
{
for(student *pv=pfirst;pv;pv=pv->pnext)
cout<<pv->name<<endl;
}
void main()
{
student s1("s1");
student s2("s2");
student s3("s3");
student::view();
char name[4];
cout<<"please put in the name of which you want to find"<<endl;
cin>>name;
student::findname(name);
}