📄 p248.cpp
字号:
#include <iostream>
#include "student.h"
using namespace std;
Student * Student::pFirst=(Student *)0;
Student * Student::pLast=(Student *)0;
Student::Student(const char * pLN,const char * pFN,
int nGrd,unsigned long ulId)
:sLName(pLN),sFName(pFN)
{
nGrade=nGrd;
ulID=ulId;
}
Student::Student(const std::string& sLN,const std::string& sFN,
int nGrd,unsigned long ulId)
:sLName(sLN),sFName(sFN)
{
nGrade=nGrd;
ulID=ulId;
}
ostream& operator<<(ostream& out,const Student& s)
{
out<<s.sFName<<" "<<s.sLName
<<" "<<s.nGrade<<" "<<s.ulID;
return out;
}
void Student::addList()
{
pPrev=pLast;
if(pLast)
{
pLast->pNext=this;
}
pNext=0;
pLast=this;
if(pFirst==0)
{
pFirst=this;
}
return;
}
void Student::rmvList()
{
Student * pPrevS=pPrev;
Student * pNextS=pNext;
if(pPrevS)
{
pPrevS->pNext=pNextS;
}
else
{
pFirst=pNextS;
}
if(pNextS)
{
pNextS->pPrev=pPrevS;
}
else
{
pLast=pPrevS;
}
pPrev=pNext=0;
}
int main(int,char **)
{
Student s1("Brown","Jackie",2,111111111L);
s1.addList();
Student s2("Brown","Jessalyn",10,222222222L);
s2.addList();
Student s3("Brown","Ashley",8,333333333L);
s3.addList();
Student * pS;
for(pS=Student::first();pS;pS=pS->next())
{
cout<<"Student : "<<*pS<<"\n";
}
s2.rmvList();
s3.rmvList();
s1.rmvList();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -